2017-03-22 31 views
-1

mysql_queryの使用に問題があります。私はいつもデータベースで直接クエリを実行しようとしたために結果がゼロになっても正しい結果が得られ、結果が得られました。 以下の私のコードを参照してください:mysql_queryを使用してデータを取得できません

<?php 
$username = $_POST['user']; 
$password = $_POST['pass']; 

$username = stripcslashes($username); 
$password = stripcslashes($password); 
$username = mysql_real_escape_string($username); 
$password = mysql_real_escape_string($password); 


mysql_connect("localhost","root",""); 
mysql_select_db("login"); 

$query = sprintf("select * from users where username='$username' and password='$password'"); 
$result = mysql_query($query); 

$row = mysql_fetch_array($result); 

if($row['username'] == $username && $row['password'] == $password) 
{ 
    echo "Login Successful! Welcome".$row['username']; 
} 
else{ 
    echo "Login Failed"; 
} 

?> 
+0

この質問は無視してください。すでに答えがあります。ご協力いただきありがとうございます。本当に感謝しています。:) – sack

+0

私は結果にゼロの結果を持っているクエリthatsのデータベース名を追加することを忘れました。 – sack

+0

この値のない質問を削除してください。 – mickmackusa

答えて

1

あなたはsprintfの使用ができますが、変数のプレースホルダを提供しなかった、とあなたは変数を解析できませんので、単一引用符の代わりに二重引用符を使用します。

1

デバッグを追加して自分自身を助けてください。この後

...

$result = mysql_query($query); 

これを追加...

if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

保存して、コードを再実行します。

mysql_error()を取得した場合は、お知らせください。

+0

私はすでに間違っていることを知っています – sack

+0

@sack OK、教えてください。 –

+0

結果がゼロである理由を照会にデータベース名を追加するのを忘れてしまった。この愚かな質問を申し訳ありません。 :) – sack

1
  1. クエリが正常終了したことを確認する必要があります。

    if(!$ result){ print mysql_error(); die(); }

  2. mysqlです。使用PDO

関連する問題