Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql使用Php foreach循环选择并插入到另一个表中_Php_Mysql - Fatal编程技术网

Mysql使用Php foreach循环选择并插入到另一个表中

Mysql使用Php foreach循环选择并插入到另一个表中,php,mysql,Php,Mysql,我已经创建了一个新的表(颜色),其中id和十六进制作为列,所有现有id与图片路径一起保存在pics表中,将进入带有许多十六进制值的新颜色表。我使用一个类从图片中提取突出的颜色作为十六进制值数组 这是迄今为止的代码: $data = $conn->query('SELECT id,pic_path FROM pics WHERE pic_id = 1231'); while($row = $data->fetch()) { $image = new ColorsOfImage(

我已经创建了一个新的表(颜色),其中id和十六进制作为列,所有现有id与图片路径一起保存在pics表中,将进入带有许多十六进制值的新颜色表。我使用一个类从图片中提取突出的颜色作为十六进制值数组

这是迄今为止的代码:

$data = $conn->query('SELECT id,pic_path FROM pics WHERE pic_id = 1231');
while($row = $data->fetch()) {
    $image = new ColorsOfImage('images/'.$data['pic_path']);
    $colors = $image->getProminentColors();

    foreach($colors as $key => $val)
    {
        $sql = "INSERT INTO colours (pic_id,colour) VALUES (:pic_id,:colour)";
        $q = $conn->prepare($sql);
        $q->execute(array(':pic_id'=>$data['pic_id'],':colour'=>$val));
    }
}
但我得到了这个错误:

Fatal error: Cannot use object of type PDOStatement as array
这是填充后的外观:


当你想要的是
$row['pic\u id']
时,你使用了
$data['pic\u id']
当你想要的是
$row['pic\u id']
时,你使用了
$data['pic\u id']
当你想要的是
$row['pic id'
时,你使用了
$code>$data['pic id'
当您想要的是
$row['pic_id']

时,只需一个查询即可完成,无需php,无需循环

INSERT INTO colours (pic_id,colour)
SELECT id,pic_path FROM pics
WHERE pic_id = 1231

完整详细信息:

只需一个查询即可完成,无需php,无需循环

INSERT INTO colours (pic_id,colour)
SELECT id,pic_path FROM pics
WHERE pic_id = 1231

完整详细信息:

只需一个查询即可完成,无需php,无需循环

INSERT INTO colours (pic_id,colour)
SELECT id,pic_path FROM pics
WHERE pic_id = 1231

完整详细信息:

只需一个查询即可完成,无需php,无需循环

INSERT INTO colours (pic_id,colour)
SELECT id,pic_path FROM pics
WHERE pic_id = 1231

完整详细信息:

Wow!那是愚蠢的疏忽!谢谢!那是愚蠢的疏忽!谢谢!那是愚蠢的疏忽!谢谢!那是愚蠢的疏忽!Thanks@Dagon请详细说明?@Dagon请详细说明?@Dagon请详细说明?@Dagon请详细说明?哦,我明白了,我只使用pic_id来测试,真的我会使用pic_id>1231之类的东西,这样行吗?我只知道一种方法,哦,我明白了,我只使用pic_id来测试,真的我会使用pic_id>1231之类的东西,这样行吗?我只知道一种方法来找出答案哦,我明白了,我只使用pic_id来测试,真的我会使用pic_id>1231这样的东西,行吗?我只知道一种方法来找出答案哦,我明白了,我只使用pic_id来测试,真的我会使用pic_id>1231这样的东西,行吗?我只知道一种方法来找出答案