你可以看到我在这里的表:
我现在用随机值填充它,因为我只想检查代码是否有效.我使用的代码如下:
try {
$tempdel = $pdo->prepare("DELETE FROM splatoon_players WHERE id = 1;
DELETE FROM splatoon_players WHERE id = 2;
DELETE FROM splatoon_players WHERE id = 3;
DELETE FROM splatoon_players WHERE id = 4;
DELETE FROM splatoon_players WHERE id = 5;
DELETE FROM splatoon_players WHERE id = 6;
DELETE FROM splatoon_players WHERE id = 7;
DELETE FROM splatoon_players WHERE id = 8;");
$tempdel->execute();
} catch (PDOException $e) {
$error = "Unable to execute the query. ". $e->getMessage();
exit();
}
Run Code Online (Sandbox Code Playgroud)
我花了将近一个小时来找出错误的位置,但我无法得到它.我当然正在使用PDO课程.
如果我在phpmyadmin shell中执行所有8个查询,它们可以很好地工作,但是使用上面的代码运行*.php脚本它们不起作用.
当我说"它们不起作用"时,我只是说这些行仍然在表中而不是被删除.删除不会发生.任何的想法?
注意:我想我execute第一次错过了.嗯...准备语句不会执行它.因此,您的代码只是在应用程序中进行字符串操作和设置数据结构.它没有运行代码.
在任何情况下,执行通常都会执行一个语句.看到这个问题.
但是你应该把它表达为一个查询:
DELETE FROM splatoon_players WHERE id in (1, 2, 3, 4, 5, 6, 7, 8);
Run Code Online (Sandbox Code Playgroud)
一个查询更有效.