私はこのスクリプトをしばらく使っていましたが、なぜユーザ名とパスワードが存在するときに結果が得られないのか分かりません。私は大文字とすべてをチェックしました。私はthisリンクで動作するようにスクリプトを編集しようとしましたが、何の結果もありません。以下はデータベースユーザのスクリーンショットです:ご協力いただきありがとうございます!この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インジェクションの問題、アドバイスありがとう!
パスワードを保存する前にパスワードをハッシュしていることをお勧めしますか? –
num_rowsはすべての結果を取得するまで行数を表示しないためですか? –
あなたのコードはSQLインジェクションに対して脆弱です。代わりに[prepared statements](https://www.youtube.com/watch?v=nLinqtCfhKY)を使用する方法を学んでください。 –