我在运行这个php代码时遇到错误,该代码将根据表2的值向表1添加值,其中表3的值等于0
我的表
------------------------------
id| table 1| table 2 | table 3|
-------------------------------
01| 100 | 10 | 0 |
PHP代码
<?php
$servername = "localhost";
$username = "myuser";
$password = "mypass";
$dbname = "lol";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "UPDATE table table1 = table1 + table2 WHERE table 3 = 0";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
它说我的sql语法错误
更新记录时出错:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第1行'= table1 + table2 WHERE table3 = 0'附近使用正确的语法
如何使用正确的sql语法实现这一目标?
答案 0 :(得分:1)
您忘记了SET
指令,并且您的列名与查询中的列名不匹配,您必须使用后面的刻度 -
$sql = "UPDATE `table` SET `table 1` = `table 1` + `table 2` WHERE `table 3` = 0";
您真的应该了解prepared statements
答案 1 :(得分:0)
我假设表和字段名称是别名。试试这个......
$sql = "UPDATE `table` SET `table 1` = `table 1` + `table 2` WHERE `table 3` = 0";
SET
语句需要UPDATE
,名称中带空格的字段或表格需要用反引号字符包围。