如何使用动态创建的PHP变量将数据插入Mysql

时间:2016-02-24 12:40:09

标签: php mysql

假设我有变量$image0$image1$image2等等 哪个可以动态变化并从数组生成。 我有sql查询来插入像

这样的数据
 Insert into table_name (id,entityid,value,image) values (1,123,"abc",$image0);
 Insert into table_name (id,entityid,value,image) values (1,123,"abc",$image1);
 Insert into table_name (id,entityid,value,image) values (1,123,"abc",$image2);

因为产品的不同图像有6个插入查询。

但并非强制要求每个产品图像的数量相同,有些产品有3个图像,或者有些图像有5个可用图像。

那么如果只有一些变量可用,我们如何检查并将该值传递给mysql查询并忽略其他查询。

谢谢

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是将所有图像都放到数组中然后只使用foreach

有人想这样吗?

<?php
// When you obtaining a images, just let them create a array... this is only example
$arr = array($img1, $img2, $img3, $img4);
foreach ($arr as &$img) {
    //execute your statement with param $img
}

unset($value); // Clean it! ;)
?>

答案 1 :(得分:0)

php中的Simplist方式是使用implode函数,将插入行的其余部分放入分隔符: -

$images = array($image0,$image1,$image2);

$sql = "INSERT INTO table_name (id,entityid,value,image) values (1,123,'abc','".implode("'), (1,123,'abc','", $images)."');"

请注意,您应该确保首先清理您的图像名称。