コードに問題がありmysqli_fetch_array()
ます。なぜそれが機能しないのかを理解するために、変数を何度も交換して変更しました。基本的に、データベースにアクセスし、特定の基準に適合する行数を見つけて値を返すために必要です。mysqli_fetch_array()
関数を機能させるために何ができるかについての洞察はありますか?
ありがとう。
<html>
<?php
$uname = "";
$pword = "";
$errorMessage = "";
function quote_smart($handle, $value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if (!is_numeric($value)) {
$value = "'" . mysqli_real_escape_string($handle, $value) . "'";
}
return $value;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$uname = $_POST['username'];
$pword = $_POST['password'];
$uname = htmlspecialchars($uname);
$pword = htmlspecialchars($pword);
$con = mysqli_connect("127.0.0.1", "root", "");
$db = mysqli_select_db($con, "users");
if ($db) {
$uname = quote_smart($con, $uname);
$pword = quote_smart($con, $pword);
$SQL = "SELECT * FROM users WHERE L1 = $uname AND L2 = md5($pword)";
$result = mysqli_query($con, $SQL);
$num_rows = mysqli_fetch_array($result,MYSQLI_NUM);
if ($result) {
if ($num_rows > 0) {
session_start();
$_SESSION['login'] = "1";
header ("Location: home.php");
}
else {
session_start();
$_SESSION['login'] = "";
header ("Location: regpage.php");
}
}
else {
$errorMessage = "Error logging on";
}
mysqli_close($con);
}
else {
$errorMessage = "Error logging on";
}
}
?>
</html>
私が問題を抱えている主なコードは次のとおりです。
$num_rows = mysqli_fetch_array($result,MYSQLI_NUM);
実行するたびに、次のエラーメッセージが表示されます。
警告:mysqli_fetch_array()は、パラメーター1がmysqli_resultであると想定しており、ブール値が指定されています