使用MySQL更新一行数据

时间:2012-04-11 22:14:11

标签: php mysql

我希望所有用户都能够更新他们的页面。这是我在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');

4 个答案:

答案 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应用程序的最简单方法。

使用带参数绑定的预准备语句,您将是安全的。