php - 如何使用 PHP 从 MYSQL 表中删除多行

标签 php mysql

我正在尝试学习 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/

相关文章:

c# - 自动显示 datagridview 中的更改

php - 当表先前被锁定时是否可以使用 PDO lastInsertId() ?

php - 拉维尔 4 : Where Not Exists

MYSQL TRIGGER 子查询更新

mysql - 将字段值传递给子查询

MySQL数据库注入(inject)攻击后含有恶意SCRIPT标签?

php - 执行 Curl Multi Exec 而不等待响应

PHP - 返回文件中的最后一行?

javascript - 为什么 PHP 文件不能正确读取 javascript?

mysql - 是否可以在 MySQL 中连接两个不相关的表?