2017-11-29 22 views
-1

私はこのスクリプトをしばらく使っていましたが、なぜユーザ名とパスワードが存在するときに結果が得られないのか分かりません。私は大文字とすべてをチェックしました。私はthisリンクで動作するようにスクリプトを編集しようとしましたが、何の結果もありません。以下はデータベースユーザのスクリーンショットです:Screenshotご協力いただきありがとうございます!このphp mysqliスクリプトはなぜ私に結果を与えていないのですか?

$sql = "SELECT Status FROM Users WHERE Username = '".$_GET["username"]."' AND Password = '".$_GET["password"]."'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row or remove while loop if you wish 
    while($row = $result->fetch_assoc()) { 
     echo $row['Status'] ; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 

編集:私もこのコードを試してみました、ライン16上の非オブジェクトのプロパティを取得」私にエラーを与えた(ここでは9行がある):

$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$sql = "SELECT Status FROM Users WHERE Username = '".$_GET["username"]." AND Password = '".$_GET["password"]."'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row or remove while loop if you wish 
    while($row = $result->fetch_assoc()) { 
     echo $row['Status'] ; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

編集:私は修正しました私のSQLインジェクションの問題、アドバイスありがとう!

+2

パスワードを保存する前にパスワードをハッシュしていることをお勧めしますか? –

+0

num_rowsはすべての結果を取得するまで行数を表示しないためですか? –

+1

あなたのコードはSQLインジェクションに対して脆弱です。代わりに[prepared statements](https://www.youtube.com/watch?v=nLinqtCfhKY)を使用する方法を学んでください。 –

答えて

0

私のマシン上で動作しているあなたのコードを試しました$ connオブジェクトの作成を確認できますか? 。

$conn = new mysqli('localhost','user','password','db'); 

$sql = "SELECT Status FROM Users WHERE Username = '".$_GET["username"]."' 
AND Password = '".$_GET["password"]."'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
// output data of each row or remove while loop if you wish 
    while($row = $result->fetch_assoc()) { 
     echo $row['Status'] ; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
+0

それは私にエラーがない、ちょうど0と言う人がテーブルに存在するときの結果 –

+0

2人のプロのコーダーとこのスクリプトをテストした後、自分自身と20回のようにトリガーするURLを書くと、 :/あなたの時間を無駄にして申し訳ありません、私は今コーナーで死ぬつもりです。 –

関連する問題