我正在尝试学习 php,但遇到了一个问题。如果有任何帮助,我将不胜感激。
我有一个看起来像这样的数据库:
ID USER AGE
1 name1 18
2 name2 19
3 name3 20
etc etc
我想删除多条记录。这是我为此使用的代码:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
//select a database to work with
$selected = mysql_select_db("photo",$dbhandle)
or die("Could not select examples");
//execute
echo "CONNECTED";
echo "</br>";
//Action
$delete_query = ("DELETE FROM _users WHERE age in(17,18,19)");
$result = mysql_query($delete_query);
echo 'Deleted';
mysql_close($dbhandle);
?>
当我通过查询年龄列进行删除时,它会删除多行。
但是,当我这样做时:
$delete_query = ("DELETE FROM _users WHERE USER in(name1,name2,name3)");
没有任何反应。是因为那些是字符串吗?我该如何解决?
谢谢!
最佳答案
查询不正确:
DELETE FROM _users WHERE USER in ('name1','name2','name3');
字符串必须用引号引起来,否则 MySQL 会将它们视为字段名(或关键字)。您的脚本中没有错误处理,否则您会看到错误消息。始终按如下方式编写查询:
$result = mysql_query(...) or die(mysql_error());
这会告诉您查询失败的确切原因(或者如果没有问题就继续)。
关于php - 如何使用 PHP 从 MYSQL 表中删除多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7043131/