从MySQL数据库中删除一行

时间:2010-07-19 18:41:08

标签: php mysql

我有一个名为“privatemessage”的MySQL表,其主键字段名为“messageid”。

我想有一个PHP查询删除“privatemessage”中的任何行,其中“messageid = $ messageid”。

这是什么类型的查询?

提前致谢,

约翰

3 个答案:

答案 0 :(得分:4)

DELETE FROM `privatemessage` WHERE `messageid` = $messageid

这只是原始的SQL查询。当然应该考虑验证和逃避用户输入等事情。

例如,给定messageid作为AUTO_INCREMENT整数主键,我只需在PHP中运行它(使用$messageidintval()转换为int):

mysql_query('DELETE FROM `privatemessage` WHERE `messageid` = ' . intval($messageid));

答案 1 :(得分:2)

您可能希望使用预准备语句,因此您可以放心使用SQL注入...

$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
    die('could not connet to database.');
}
$statement = $conn->prepare("DELETE FROM privatemessage WHERE messageid = ?");
$statement->bind_param("messageid", $messageid);
$statement->execute();

答案 2 :(得分:1)

$query = "DELETE FROM `privatemessage` WHERE `messageid` = '$messageid'";
mysql_query($query);

但首先,请检查$messageid是否为数字(请参阅SQL Injection)。

关于MySQL删除的

Read more: