我對MySQL數據庫有一個非常標準的調用,出於某種原因,我無法讓代碼工作。下面是我有:無法顯示來自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);
現在,第一次,我知道這是正確連接,因爲我沒有得到模方法再加上我在裏面添加了其他條件之前,並簽出。隨後,頁面顯示,但我得到的錯誤:
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」(它的主行)的行的表。讓我困惑的是這是我從我建立的另一個網站上直接複製和粘貼的代碼,由於某些原因,代碼在這個代碼上不起作用(我明顯複製並粘貼了它,然後相應地更改了表名和行)。
我看到的錯誤,並試圖:
$num_rows = $mysqli_result->num_rows;
$row_array = $mysqli_result->fetch_array;
和固定的錯誤,但沒有導致數據被傳遞(因爲很明顯,$ mysqli_result沒有值)。我不知道爲什麼這個錯誤是要求的(這是從另一個網站的MySQL或PHP版本的差異)?
有人能幫我找出問題嗎?非常感謝。對不起,如果這是超級簡單的,我忽略了,我已經有一段時間了。
你不檢查mysqli_query'的'的返回值。它可以返回布爾值而不是語句句柄。 – Charles
有一件事,把你的'session_start();'放在mysqli_connect的上面,因爲如果發生錯誤它會產生輸出。這會導致session_start失敗。 – Lenin
您確定要連接到本地主機上正確的數據庫嗎?我沒有看到上面的代碼片段中選擇數據庫的位置? – schtever