Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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
Php 当循环在表中插入相同的值时_Php - Fatal编程技术网

Php 当循环在表中插入相同的值时

Php 当循环在表中插入相同的值时,php,Php,我搞不清楚我的逻辑到底出了什么问题。第一个查询返回四项(我确认了)。我想在另一个表中插入这些ID。发生四次插入,但都仅使用第一个id。这里怎么了 $query = "SELECT id FROM table1 WHERE item IN (".$x.") ORDER by id"; $result = $mysqli->query($query); $sqq = "INSERT INTO table2 (item1, item2, item3) VALUES (?, ?, ?)"; $st

我搞不清楚我的逻辑到底出了什么问题。第一个查询返回四项(我确认了)。我想在另一个表中插入这些ID。发生四次插入,但都仅使用第一个id。这里怎么了

$query = "SELECT id FROM table1 WHERE item IN (".$x.") ORDER by id";
$result = $mysqli->query($query);
$sqq = "INSERT INTO table2 (item1, item2, item3) VALUES (?, ?, ?)";
$stmt = $mysqli->prepare($sqq);
while($row = $result->fetch_object()) {
    $stmt->bind_param('ssi', $it1, $it2, $row);
    $stmt->execute();
}
该函数返回一个对象,但您试图将其用作整数。您应该使用
$row->id
获取值

while($row = $result->fetch_object()) {
    $stmt->bind_param('ssi', $it1, $it2, $row->id);
    $stmt->execute();
}

哪列包含相同的值<代码>项目3?在循环中运行查询不是一个好主意,您可以在一个查询中完成。是的,最后一个查询。项目3非常感谢。这很有帮助。@Furgas我认为对integer的隐式转换将对象强制转换为
1
。错误日志显示:stdClass类的对象无法转换为int