抱歉,但您的代码完全错误(您正在执行 mysql_query 两次)。我猜你的意思是
$sql="UPDATE customers SET password='$id' WHERE c_number='$users1' ";
$result = mysql_query($sql);
if (mysql_error()) die('Error, You have not used our services before, so no details for you to visit and explore');
引用 PHP 手册: *此扩展自 PHP 5.5.0 起已弃用,将来将被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关常见问题解答以获取更多信息*
但无论如何,让我们完成这项工作(并且更安全):
$sql="UPDATE customers SET password='".myqsl_escape_string($id)."' WHERE c_number='".mysql_escape_string($users1)."' ";
这可以通过转义 $id 和 $users1 中每个可能的特殊字符来防止 SQL 注入(我怀疑其中至少有一个是用户提交的数据)。
$result = mysql_query($sql);
if ($result===false) die('Error, You have not used our services before, so no details for you to visit and explore');
这里的关键是使用 mysql_query 的结果,如果查询失败则为 FALSE。在这里使用 '===' 比较器是个好习惯,因为我们不想查找 0 或空字符串,而只想查找布尔值 false。有关更多信息,请参阅PHP mysql_query 手册页