假设我有变量$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
查询并忽略其他查询。
谢谢
答案 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)."');"
请注意,您应该确保首先清理您的图像名称。