MySQL查询不能正常工作但在PHPMyAdmin中工作

时间:2013-11-11 06:54:04

标签: php mysql

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

2 个答案:

答案 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 ;

试试吧。

由于