我只是开始使用php.I我正在为这个简单的表单更新而烦恼。 首先我用准备语句做了这个,最后我没有用简单的mysqli查询设置。我不知道哪里出错了。 任何帮助都会很棒。
profile.php
{{1}}
答案 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."" ;