for循环没有执行

时间:2015-02-02 10:22:39

标签: php mysqli

我有一个循环通过id循环。由于其他原因,for循环没有执行。

$med_uuids = $_POST['med_uuids'];

$med_uuids_length = count($med_uuids);

for($x=0; $x < $med_uuids_length; $x++){
    $query = mysqli_query($connection, "DELETE FROM medicine WHERE uuid = 
    '$med_uuids[$x]'");
}

//close connection to db
mysqli_close($connection);

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

你没有数组,只是一个字符串。

$ids = explode(',', $_POST['med_uuids']); // make an array

foreach ($ids as $id) {
    mysqli_query($connection, "DELETE FROM medicine WHERE uuid = '" . mysqli_real_escape_string($connection, $id) . "'");
}

答案 1 :(得分:0)

如果你得到一个像这样的逗号分隔列表(124,121,45,12,35),那么你可以做这样的事情

DELETE FROM medicine WHERE uuid IN (124,121,45,12,35)

这将帮助您一次完成任务,您的数据库不会被多个查询阻塞。