我正在尝试学习php并遇到问题.我将不胜感激.
我有一个数据库,看起来像:
ID USER AGE
1 name1 18
2 name2 19
3 name3 20
etc etc
我想删除多个记录.这是我正在使用的代码:
$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
";
//select a database to work with
$selected = mysql_select_db("photo",$dbhandle)
or die("Could not select examples");
//execute
echo "CONNECTED";
echo "";
//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());
这将准确地向您显示查询失败的原因(如果没有问题,请继续操作).
标签:mysql,php
来源: https://codeday.me/bug/20191102/1990479.html