gpt4 book ai didi

php - MySQL无法更新记录

转载 作者:行者123 更新时间:2023-11-29 23:20:57 25 4
gpt4 key购买 nike

尝试通过 php 表单提交更新 MySQL 中的记录,但我不断收到错误:

更新记录时出错:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 4 行的 'SETphone='3609992399'、address='123 Test Lane'、city='Battle Gr' 附近使用的正确语法

if (isset($_POST['submit'])) {  
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$zipcode = $_POST['zipcode'];

$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
} else {
$updateUser = "UPDATE users SET first_name='{$first_name}', last_name='{$last_name}', email='{$email}', phone='{$phone}', address='{$address}', city='{$city}', state='{$state}', zipcode='{$zipcode}' WHERE vendorid='{$user['vendorid']}'";
if ($mysqli->query($updateUser) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $mysqli->error;
}
}

$mysqli->close();
}

我检查了 5.5 的文档,一切看起来都正确。有什么线索吗?

最佳答案

您没有仔细阅读文档。

多次使用SET是不正确的。将其更改为:

UPDATE users SET
first_name='{$first_name}',
last_name='{$last_name}',
email='{$email}',
phone='{$phone}',
address='{$address}',
city='{$city}',
state='{$state}',
zipcode='{$zipcode}'
WHERE
vendorid='{$user['vendorid']}'

来自文档,第二行:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

您还应该进行有关安全的 self 教育。将浏览器中的数据直接放入 SQL 中并不是一个好主意。

关于php - MySQL无法更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com