我正在尝试检查我的'用户'MySQL表以查看用户是否存在我正在使用以下代码:
SELECT * FROM `Users` WHERE `username` = 'user' AND `password` = '5e8a94e952c5b6767fab70b75d380beae921334e'
$result = mysqli_query($accountCon,$sql);
mysqli_close($accountCon);
当我在phpMyAdmin中运行此代码时,代码运行正常并返回一个类似应该的用户。在我的* .php脚本中,我连接到服务器,如下所示:
$mysql_host = "localhost";
$mysql_database = "database";
$mysql_user = "username";
$mysql_password = "password";
$accountCon=mysqli_connect($mysql_host,$mysql_user,$mysql_password,$mysql_database);
if (mysqli_connect_errno()){
die( "Failed to connect to MySQL: " . mysqli_connect_error());
}
这不会返回错误,因此我只能假设它已连接到服务器。我在我的网站上有类似的代码用于创建帐户和更新令牌等。由于查询在phpMyAdmin中工作,我知道表格设置正确。
其他尝试:
$result = $accountCon->query($sql); //same error
答案 0 :(得分:1)
好的,经过大量测试并在网站的其他部分工作后,我已经找到了问题所在。问题是我没有在我的functions.php文件中关闭mySQL连接。
修正:
mysqli_close($accountCon);
这样做的道理是你总是需要关闭你的mySQL连接。 。 。
答案 1 :(得分:0)
我认为你应该改变这段代码......
$mysql_host = "localhost";
$mysql_database = "dbname"; //It dbname is your actual database name.
$mysql_user = "root"; //Phpmyadmin default user name is root.
$mysql_password = ""; //By default there is no password used in phpmyadmin.
$accountCon=mysqli_connect($mysql_host,$mysql_user,$mysql_password,$mysql_database);
if (mysqli_connect_errno()){
die( "Failed to connect to MySQL: " . mysqli_connect_error());
}
现在,您可以在同一个脚本上运行此类查询。
$query = $accountCon->query("SELECT * FROM Users WHERE username='user' AND password='5e8a94e952c5b6767fab70b75d380beae921334e'");
echo $query->num_rows ;
试试吧。
由于