我正在尝试从 php.ini 更新 mysql 数据库中的一些字段。这总是给我错误,我不知道为什么。您能快速浏览一下吗?
$sqlupdate_ = "UPDATE $db SET city=$city, country=$country WHERE userIP=$ip;";
$sqlupdate = mysql_query($sqlupdate_);
echo $sqlupdate_;
if($sqlupdate){
//The query returned true - now do whatever you like here.
echo 'success';
}else{
//The query returned false - you might want to put some sort of error reporting here. Even logging the error to a text file is fine.
echo "error: ";
}
最佳答案
首先:使用 mysqli 或 PDO,因为 mysql 函数已弃用。
第二:通过转义字符串来避免 sql 注入(inject)。
我认为,你的问题是,你的城市、国家和IP是varchars而不是整数,所以你需要在它们周围添加引号,并且你想更新你的表而不是你的数据库。
尝试回显您的查询并直接在 mysql 中运行。
$sqlupdate_ = "UPDATE " . mysqli_real_escape_string($link, $db). " SET city= '" .mysqli_real_escape_string($link, $city) ."', country='".mysqli_real_escape_string($link, $country)."' WHERE userIP='".mysqli_real_escape_string($link, $ip)."'";
关于php - 简单更新 php 中的两个字段会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26659097/