php - MySQL语法错误: near '1' at line 1

标签 php mysql mysqli

我在第 1 行收到错误“1”,我对此有点困惑;我是个十足的菜鸟,通常会尝试在不寻求帮助的情况下纠正问题

它将所有数据正确输入到数据库中,但提供了此错误。

还有几个其他线程也有同样的问题,其中一个的解决方案是: “这就是出现错误的原因:您尝试使用上次更新查询的结果调用 mysql_query。当 TRUE 转换为字符串时,结果只是“1”。”

$title = mysqli_real_escape_string($con, $_POST['title']);
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$jobtitle = mysqli_real_escape_string($con, $_POST['jobtitle']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$address2 = mysqli_real_escape_string($con, $_POST['address2']);
$address3 = mysqli_real_escape_string($con, $_POST['address3']);
$postcode = mysqli_real_escape_string($con, $_POST['postcode']);
$telephone = mysqli_real_escape_string($con, $_POST['telephone']);
$email = mysqli_real_escape_string($con, $_POST['email']);

(我知道我真的应该做一份准备好的声明)

$sql = mysqli_query($con, "UPDATE users SET title='$title', firstname='$firstname', lastname='$lastname', jobtitle='$jobtitle', address='$address', address2='$address2', address3='$address3', postcode='$postcode', telephone='$telephone', email='$email' WHERE username='$user'");

if (!mysqli_query($con,$sql)) {
$result_array = mysql_fetch_assoc($qStuff);
die('Error: ' . mysqli_error($con));
}

最佳答案

下面一行表示插入成功时在 $sql 中存储值“1”,失败时存储值 0。

$sql = mysqli_query($con, "UPDATE users SET title='$title', firstname='$firstname', lastname='$lastname', jobtitle='$jobtitle', address='$address', address2='$address2', address3='$address3', postcode='$postcode', telephone='$telephone', email='$email' WHERE username='$user'");

并且您正在尝试执行此操作

if (!mysqli_query($con,$sql)) 

这里,$sql的值为“1”,这不是一个有效的查询。这会导致语法错误。 也许如果您想实现这一目标:

$sql = "UPDATE users SET title='$title', firstname='$firstname', lastname='$lastname', jobtitle='$jobtitle', address='$address', address2='$address2', address3='$address3', postcode='$postcode', telephone='$telephone', email='$email' WHERE username='$user'";
if(mysqli_query($con,$sql)){
    //do something if the operation is successful
}

关于php - MySQL语法错误: near '1' at line 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24648522/

相关文章:

php - 将构造函数添加到模型时,Eloquent 无法识别可填充字段

php - 如何使自定义设置数据在 Yii 2 中全局可用?

php - 使用PHP和MySQL无法获取文件名

java - MySQL 数据库存储未知数量的值

php - 将可变数量的值绑定(bind)到准备好的语句

php - 从mysql表中查询最低价

php - NodeJS setInterval 对性能不利?

java - mysql和java jdbc从另一个类调用[运行时应用程序]

php - 按类别对结果进行分组,然后将结果分成几天?

php - 关闭准备好的语句