我创建了一个for循环,循环通过一个数组或从一个字符串爆炸的单词。 for循环的工作原理已经通过echo语句进行了测试。运行此代码时,它只将1条记录插入到数据库中,而不是数组中的字符串数量。MySQL里面for循环。插入只在第一个循环运行
$item=explode(" ", $items);
for ($i = 0; $i < count($item); ++$i) {
// Create connection
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO invlog (itemid, qty)
VALUES ('".$item[$i]."', '-1')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
旁注:为什么不拿出环路之前连接之外。无需连接/关闭每一次迭代 – Ghost 2014-11-22 02:11:00
您是否收到错误消息,或者它看起来没有安静地失败? – paxdiablo 2014-11-22 02:11:04
像这样连接和关闭每次迭代都是荒谬的。 – 2014-11-22 02:16:08