MySQL データベースへの非常に標準的な呼び出しがありますが、何らかの理由でコードを動作させることができません。ここに私が持っているものがあります:
$mysqli = mysqli_connect("localhost","username","password");
if (!$mysqli)
{
die('Could not connect: ' . mysqli_error($mysqli));
}
session_start();
$sql = "SELECT * FROM jobs ORDER BY id DESC";
$result = $mysqli->query($sql);
$num_rows = mysqli_num_rows($result);
まず、die メソッドを取得していないことに加えて、else 条件を以前に追加してチェックアウトしたため、適切に接続されていることがわかりました。その後、ページが表示されますが、エラーが発生します。
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in blablabla/index.php on line 11
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in blablabla/index.php on line 12
データベースを再確認したところ、"id" の行 (プライマリ行) を持つ jobs というテーブルがあります。私を混乱させているのは、これが私が構築した別のサイトから文字通りコピーして貼り付けたコードであり、何らかの理由でコードがこのサイトで機能しないことです (明らかにコピーして貼り付け、それに応じてテーブル名と行を変更しました) )。
私はエラーを見て試しました:
$num_rows = $mysqli_result->num_rows;
$row_array = $mysqli_result->fetch_array;
エラーは修正されましたが、データが渡されませんでした (明らかに $mysqli_result に値がないため)。エラーがそれを要求している理由がわかりません (他のサイトとの MySQL または PHP のバージョンの違いですか)?
誰かが問題を追跡するのを手伝ってくれますか? 本当にありがとう。私が見落としているのが非常に単純なものである場合は申し訳ありません。