0
私は最近mysqlをmysqliに使用することから自分のコードを変更し、WAMPローカルサーバーによって表示されるすべてのエラーを解決しました。しかし、ログインメカニズムが壊れています。これにより、パスワードの正誤に関係なく、ユーザーはログインできます。私はmysqliに切り替える前に正常に動作した作業を行うために、次の関数を使用しています。ここで何が間違っていますか?mysqlからmysqliにコードを切り替えた後にmysqli_data_seekが機能しないのはなぜですか?
function login($registration_id, $password) {
include 'core/database/connect.php';
$registration_id = sanitize($registration_id);
$password = sanitize($password);
$query = mysqli_query($link, "SELECT COUNT(`sr`) FROM `main_table` WHERE `registration_id` = '$registration_id' AND `password` = '$password'");
return (mysqli_data_seek($query, 0) == 1) ? $registration_id : false;
mysqli_close($link);
}
まず、あなたのコードは、SQLインジェクションへの陰茎です。エスケープするか、または準備されたステートメントを使用します。次に、mysqli_closeリンクは決して実行されません。 (PHPが終了すると自動的に接続を閉じます(。 – vaso123
mysqli_queryに 'COUNT(\' sr \ ')'に問題があるようですが)単純に 'sr'に置き換えて動作していますが、それがなぜそうであるかについての手がかり。 – user1543784