【发布时间】:2016-03-24 20:13:02
【问题描述】:
我正在尝试使用 PHP 验证用户登录,但是我收到以下错误
警告:mysql_select_db() 期望参数 2 是资源、对象 在第 18 行的 C:\xampp\htdocs\db\sign_in_connect.php 中给出
警告:mysql_fetch_array() 期望参数 1 是资源, 第 22 行 C:\xampp\htdocs\db\sign_in_connect.php 中给出的布尔值 抱歉,您的凭据无效,请重试。
这是我的 PHP 代码
<?php
try{
$db = mysqli_connect ('localhost', 'root', '', 'car_rental') or die ("SQL is Off");
}
catch (Exception $e){
echo "SQL is Off";
exit;
}
echo "success";
$email = $_POST["email"];
$pass = $_POST["pass"];
mysql_select_db("car_rental",$db);
$result = mysql_query("SELECT email, users FROM users WHERE email = $email");
$row = mysql_fetch_array($result);
if($row["email"]==$email && $row["pass"]==$pass)
echo"You are a validated user.";
else
echo"Sorry, your credentials are not valid, Please try again.";
?>
【问题讨论】:
-
在你的代码中混合
mysql and mysqli!!阅读php.net/manual/en/mysqli.select-db.php -
您正在混合使用
mysqli_和mysql_函数。因此使用较新的mysqli_函数(或PDO)。 -
你必须只需要使用一种方法mysql或mysqli...
-
停止使用mysql,因为它不安全。如果您有时间,请花时间将 PDO 理解为数据库连接器。 One tutorial
-
嗯,我正在学习 php 和 mysql,对此我比较陌生