mysql_connect('localhost', 'root', '')
or die(mysql_error());
mysql_select_db('shuttle_service_system')
or die(mysql_error());
$ID_No=$_POST['ID_No'];
$CurrentBalance = $_POST['CurrentBalance'];
$AddedAmount = $_POST['AddedAmount'];
$NewBalance = $CurrentBalance + $AddedAmount;
$sql = ("UPDATE balance
SET Balance= '$NewBalance'
WHERE ID_No= '$ID_No' ");
$result=mysql_query($sql);
if($result){
echo"Transaction successful!";
} else {
echo "  Error";
}
大家好,我正在尝试使用变量更新数据库中的特定值。当我使用蛮力而不是变量时它会更新。我知道我的变量正在工作,因为我在排队更新之前打印了它们。
最佳答案
删除此UPDATE
语句外的括号
$sql = ("UPDATE balance
SET Balance= '$NewBalance'
WHERE ID_No= '$ID_No' ");
应该是
$sql = "UPDATE balance
SET Balance= '$NewBalance'
WHERE ID_No= '$ID_No' ";
此外,添加此 mysql_error()
以在查询失败时读取确切的错误。
$result=mysql_query($sql) or die(mysql_error());
自 PHP 5.5.0
起,此 (mysql_*
) 扩展已弃用,并将在未来删除。相反,应该使用 MySQLi
或 PDO_MySQL
扩展。切换到 PreparedStatements
可以更好地抵御 SQL 注入(inject)攻击!
关于php - 在 PHP 中使用变量更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587937/