$imagesarray[]=explode('&',$data[5]);
$imag_temp = 0;
foreach($imagesarray as $image){
if($imag_temp == 0 )
{
$this->db->query("UPDATE " . DB_PREFIX . "product SET image = 'media/" . $image[0] . "' WHERE product_id = '" . (int)$product_id . "'");
}else{
foreach($image as $img){
$this->db->query("INSERT INTO " . DB_PREFIX . "product_image SET image = 'media/" . $img . "' , product_id = '" . (int)$product_id . "'");
}
}
$imag_temp++;
}
This is my $data[5]=Arizona Diamondbacks.png&arizona-cardinals.png&Atlanta Braves.jpg&...&...&...n number can have..
我有每个第一个图像应该插入一个表的所有内容的writend查询,剩下的所有其他图像应该插入到另一个表中..现在每个循环第一个图像作为第一个/。
答案 0 :(得分:0)
我不知道你想要什么,但你有一些基本的错误。在尝试编写代码之前,您应该了解有关php和sql的更多信息。
[]
$imagesarray
添加$data[5]
foreach
循环中,$image
变量是字符串,而不是数组INSERT
查询不正确,您应该查看文档http://dev.mysql.com/doc/refman/5.7/en/insert.html 您的代码应该是这样的
$imagesarray = explode('&',$data[5]);
$imag_temp = 0;
foreach($imagesarray as $image){
if($imag_temp == 0 )
{
$this->db->query("UPDATE " . DB_PREFIX . "product SET image = 'media/$image' WHERE product_id = '$product_id'");
}else{
foreach($image as $img){
$this->db->query("INSERT INTO " . DB_PREFIX . "product_image (image, product_id) VALUES ('media/$image', '$product_id')");
}
}
$imag_temp++;
}
进行一些研究,以了解sql和php如何工作,并进行一些调试,因为您的代码可能有更多的错误
答案 1 :(得分:0)
你得到的错误是什么..你的插入查询不正确。 你需要注意的其他事情是你得到的阵列类型......
您可以根据需要进行编辑
此代码正常工作,您可以使用插入和更新查询进行修改..
<?php
$data[5]='Arizona Diamondbacks.png&arizona-cardinals.png&Atlanta Braves.jpg';
$imagesarray[]=explode('&',$data[5]);
foreach ($imagesarray[0] as $key => $value) {
if($key==0){
echo "hello"; // here is your update query
}
else{
echo "sorry"; // here is your insert query
}
}
答案 2 :(得分:0)
如果是单品,您不需要$ imagesarray []。
说
$data[5] = "Arizona Diamondbacks.png&arizona-cardinals.png&Atlanta Braves.jpg";
$imagesarray = explode('&',$data[5]);
将创建一个类似
的数组Array
(
[0] => Arizona Diamondbacks.png
[1] => arizona-cardinals.png
[2] => Atlanta Braves.jpg
)
然后使用单个变量分配查询以执行
foreach($imagesarray as $key => $image){
if($key == 0 )
{
$query = "UPDATE " . DB_PREFIX . "product SET image = 'media/" . $image . "' WHERE product_id = '" . (int)$product_id . "'";
} else {
$query = "INSERT INTO " . DB_PREFIX . "product_image SET image = 'media/" . $image . "' , product_id = '" . (int)$product_id . "'";
}
$this->db->query($query);
}