データベースに保存されている電子メールアドレスを入力に入力されたものと比較しようとしていますが、認識されません:
私は自分のデータベースから列を選択しようとしています:
$query = mysql_query("SELECT * FROM `men` WHERE `Email`=$user_email");
ただし、メールがまったく同じであっても、クエリは 0 を返します。ここでの問題は何ですか
多くの問題があります。Email = email@example.com
このクエリは、MySQL の構文エラーである whichを補間します。
mysql_query
次のようなものでエラーをチェックする必要がありますmysql_query($query) or echo mysql_error()
$user_email
に補間されるように引用符で囲む必要がありEmail = 'email@example.com'
ます。これは、有効な/望ましいクエリです。ext/mysql
しないでください。それは非推奨です。大きなピンクのボックスを参照してください。はるかに優れた代替手段は(PDOで)次のようになります。
$query = $pdo->prepare("SELECT * FROM `men` WHERE `Email` = ?");
$query->execute(array($user_email));
$result = $query->fetch();
エラー チェックとパラメーター化に関する私のコメントは、PDO にも適用されることに注意してください。