我希望所有用户都能够更新他们的页面。这是我在php中用来查询MySQL更新的字符串。我收到了一个错误。我做错了什么?
$insert_query= "UPDATE user_info SET bio= $bio_ans, residence= $residence_ans, work=
$work_ans WHERE user_id= $user_id";
mysqli_query($connect, $insert_query)
or die('error with query1');
答案 0 :(得分:2)
如果更新值不是整数,则需要在值周围使用引号。
$insert_query= "UPDATE user_info
SET bio= '$bio_ans',
residence= '$residence_ans',
work = '$work_ans' WHERE user_id= '$user_id'";
mysqli_query($connect, $insert_query)
or die('error with query1');
答案 1 :(得分:0)
$insert_query= "UPDATE user_info SET bio= $bio_ans, residence= $residence_ans, work=$work_ans WHERE user_id= $user_id";
mysqli_query($connect, $insert_query)
or die('error: $mysqli->error');
$mysqli->error
会让您明确知道出了什么问题。
答案 2 :(得分:0)
$ insert_query =“UPDATE user_info SET bio ='”。 $ bio_ans。 “',住宅='”。 $ residence_ans。“',work =
'“。$ work_ans。”'WHERE user_id ='$ user_id'“;
mysqli_query($ connect,$ insert_query)
或死('query1'错误);
答案 3 :(得分:0)
除了缺少引号(如RPM所示)之外,您所做的非常错误的事情是使用变量插值来创建SQL查询。
这仅适用于数值变量,并且只有在使用之前强制将其强制转换为数字类型时才可以使用。字符串转义被认为是安全的,但非常容易出错(做两次,忘记在添加新值时添加等)。最轻微的漏洞将为SQL注入打开一个巨大的漏洞,这是破解Web应用程序的最简单方法。
使用带参数绑定的预准备语句,您将是安全的。