gpt4 book ai didi

php - Mysql 的 UPDATE 查询总是将一个值设置为常量...?

转载 作者:行者123 更新时间:2023-11-29 00:28:05 25 4
gpt4 key购买 nike

此代码中的更新客户查询设置 phno 为常量 2147483647 总是而不是设置为提交的值...我尝试 echoe $phone 它是正确的..但是当我执行查询时它不起作用....

<?php
include 'database.php' ;
$id=$_POST["customer"];
$name = $_POST["name"];
$address = $_POST["address"];
$phone = $_POST["phno"];
$sql = "UPDATE `customer` SET `phno`=$phone, `name`='$name',`address`='$address' WHERE actno=$id";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "successful";
mysqli_close($con);
?>

最佳答案

您将 phno 设置为 INTEGER,对吗? INTEGER 的最大值为 2,147,483,647,因此任何大于 2,147,483,647 的数字都超出范围,将作为 2,147,483,647 插入。

phno 的数据类型更改为 BIGINTVARCHAR

此外,您的查询容易受到 SQL 注入(inject)攻击,有关详细信息,请参阅下面的链接。

另见:

关于php - Mysql 的 UPDATE 查询总是将一个值设置为常量...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033312/

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