简单的Mysqli更新查询无法正常工作

时间:2016-05-05 06:07:49

标签: php mysql mysqli

我只是开始使用php.I我正在为这个简单的表单更新而烦恼。 首先我用准备语句做了这个,最后我没有用简单的mysqli查询设置。我不知道哪里出错了。 任何帮助都会很棒。

profile.php

{{1}}

3 个答案:

答案 0 :(得分:1)

您需要将引号内的设定值写为

$newsql = "UPDATE users SET name = '".$nameu."',bloodgroup = '".$bloodgroupu."',mobile = '".$mobileu."',relative_mob1 = '".$remob1u."',relative_mob2 = '".$remob2u."',message = '".$messageu."' WHERE id  = '".$uid."'" ;

检查查询使用中的错误

if (!$con->query($newsql)) {
echo "query failed: (" . $con->errno . ") " . $con->error;
}

您的代码是开放的,用于sql注入检查How can I prevent SQL injection in PHP?以防止它。

还阅读有关绑定语句

的内容

http://php.net/manual/en/mysqli-stmt.bind-param.php

使用绑定语句

更新
$newsql = "UPDATE users SET name = ?,bloodgroup = ?,mobile = ?,relative_mob1 = ?,relative_mob2 = ?,message = ? WHERE id  = ?" ;
$stmt = $con->prepare($sql);
$stmt->bind_param('ssssssi', $nameu, $bloodgroupu, $mobileu, $remob1u, $remob2u, $messageu, $uid);
$stmt->execute();

答案 1 :(得分:0)

需要在字段值周围添加单引号。

更正后的代码:

$newsql = "UPDATE users SET name = '".$nameu."',bloodgroup = '".$bloodgroupu."',mobile = '".$mobileu."',relative_mob1 = '".$remob1u."',relative_mob2 = '".$remob2u."',message = '".$messageu."' WHERE id  = '".$uid."'" ;

答案 2 :(得分:-2)

查看您的查询:

$newsql = "UPDATE users SET name = ".$nameu.",bloodgroup = ".$bloodgroupu.",mobile = ".$mobileu.",relative_mob1 = ".$remob1u.",relative_mob2 = ".$remob2u.",message = ".$messageu." WHERE id  = ".$uid."" ;

请注意,您错过了引号'

$newsql = "UPDATE users SET name = '".$nameu."',bloodgroup = '".$bloodgroupu."',mobile = '".$mobileu."',relative_mob1 = '".$remob1u."',relative_mob2 = '".$remob2u."',message = '".$messageu."' WHERE id  = ".$uid."" ;