0

我正在尝试检查我的“用户”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
4

2 回答 2

1

好的,经过大量测试并在网站的其他部分工作后,我发现了问题所在。问题是我没有在functions.php 文件中关闭mySQL 连接。

使固定:

mysqli_close($accountCon);

这样做的寓意是你总是需要关闭你的 mySQL 连接。. .

于 2013-11-13T05:23:35.023 回答
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 ;

试试看。

谢谢

于 2013-11-11T11:44:59.470 回答