mysqli-> fetch_row()(またはfetch_object()、fetch_array())を使用して結果をフェッチしようとしていますが、実行時にコードを実行すると、次のエラーが発生します。
致命的なエラー:23行目の...の非オブジェクトでメンバー関数fetch_row()を呼び出します。
これを行う問題の変数は、以下のコードの$resultsです。$userと$passwordは、このファイルが含まれている別の.phpファイルから値を取得するため、現時点ではそれほど重要ではありません。私が間違っている場合は訂正してください。ただし、$resultsが$db-> query($ query)に設定されている場合は、$ dbのプロパティ(別名mysqliクラス)を継承することになっているのではないでしょうか。
class mySQLHelper{
public function checkPass($user, $pass){
global $db;
$db = new mysqli();
$db->connect('localhost', 'root', '', 'mydb');
if (mysqli_connect_errno()){
echo 'Can not connect to database';
echo mysqli_connect_errno(). mysqli_connect_error();
exit;
return false;
}
$query = "SELECT user, password FROM Users WHERE user = $user AND password = $pass " ;
echo $query;
$results = $db->query($query);
while ($row = $results->fetch_row()){
echo htmlspecialchars($row->user);
echo htmlspecialchars($row->password);
}
$results->close();
$url = 'http://'. $_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/";
if(!$results){
// mysqli_close($db);
// header("Location:.$url.login.php&msg=1");
}
else{
// mysqli_close($db);
// header("Location:.$url.featured.php");
}
}
}