【发布时间】:2014-01-31 21:18:17
【问题描述】:
我尝试设置一个脚本,当表单向 PHP 文件提交信息时,它将更新 MySQL 表。但是如果 Post 为空白/空,我试图让它不更新数据库。但它没有更新表格。
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$nickname = $_POST['nickname'];
$user = $_POST['user'];
$enc_pass = md5($password);
$con=mysqli_connect("","","","");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (!isset($name)){
mysqli_query($con,'UPDATE members SET name="$name"
WHERE username="$user"');
}
if(!$email == ""){
mysqli_query($con,'UPDATE members SET username="$email"
WHERE username="$user"');
}
if(!$password == ""){
mysqli_query($con,'UPDATE members SET password="$enc_pass"
WHERE username="$user"');
}
if(!$nickname == ""){
mysqli_query($con,'UPDATE members SET nickname="$nickname"
WHERE username="$user"');
}
mysqli_close($con);
?>
为了安全起见,我删除了 MySQL 凭据。 谁能帮我解决这个问题?
问候 驯服提玛
【问题讨论】:
-
您没有进行任何错误检查,因此您永远不会知道您的查询是否失败。参见例如Catching Mysqli Errors
-
另外,我希望您不要认真对待使用 MD5 作为密码。
-
您必须检查表单是否已提交 if(isset($_POST['submit'])){ REST OF YOUR CODE HERE };