php - 在 PHP 中使用变量更新 MySQL

标签 php mysql

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 "&nbsp 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_*) 扩展已弃用,并将在未来删除。相反,应该使用 MySQLiPDO_MySQL 扩展。切换到 PreparedStatements 可以更好地抵御 SQL 注入(inject)攻击!

关于php - 在 PHP 中使用变量更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22587937/

相关文章:

php - 如何判断一个查询是否已经结束

php - 无法访问 jQuery 加载的 PHP 中的 CodeIgniter 方法

mysql - 语法是什么

mysql - 使用更新和连接时未知列,即使该列存在

javascript - 使用 ajax 和 jQuery 自动填写表单,但有时只能工作

php - Mysql查询多个字段值

PHP没有将数据保存到数据库

sql - MySQL:计算没有分组的条目?

mysql 从一张表创建多个表

php - 比较运算符