gpt4 book ai didi

php - 这是 mysql/php 正确删除一行吗?

转载 作者:行者123 更新时间:2023-11-29 06:16:52 26 4
gpt4 key购买 nike

<?php
$id = $_POST['dr'];
$dbhost = 'star***.***.edu';
$dbuser = '***4123';
$dbpass = '*****';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = "DELETE FROM address
WHERE idnum=\"".$id\"";

mysql_select_db('***4123');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
?>

所以只需要一些帮助来确定这在语法上是否正确。应该通过ajax发送的是表地址中我想要删除的行的id号

最佳答案

您的查询语法看起来不正确,特别是因为您对 " 的转义完全关闭。此外,您应该在查询中使用单引号作为字符串分隔符,而不是使用双引号使用。

$sql = "DELETE FROM address WHERE idnum = " . $id;

这应该有效。假设 id 是数字(即整数、 float 、小数等)。您应该始终验证所提供的数据,或者至少在将其带到数据库附近的任何地方之前对其进行清理,否则有人可以轻松地通过 SQL 注入(inject)您的网站。应该可以进行的快速清理是将发布的值转换为 int。

$id = (int) $_POST [ 'dr' ];

关于php - 这是 mysql/php 正确删除一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com