此代码设置中的更新客户查询phno
为常量2147483647
总是设置为提交的值而不是。。。我试着回应$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
的最大值为2147483647,所以大于2147483647的任何数超出范围,将插入为2147483647。
将phno
的数据类型更改为BIGINT
或VARCHAR
。
此外,您的查询易受SQL注入攻击,有关详细信息,请参阅下面的链接。
另见:
Integer Types in MySQL
What's the best method for sanitizing user input with PHP?