0

「ユーザー」MySQL テーブルをチェックして、ユーザーが存在するかどうかを確認しようとしています。以下のコードを使用しています。

SELECT * FROM `Users` WHERE `username` = 'user' AND `password` = '5e8a94e952c5b6767fab70b75d380beae921334e'
$result = mysqli_query($accountCon,$sql);
mysqli_close($accountCon);

このコードを phpMyAdmin で実行すると、コードは正常に実行され、1 人のユーザーが返されます。私の *.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 に答える