Я провел последние 2 часа, пытаясь решить эту ошибку. Я полный новобранец, поэтому я не знаю, что происходит. Вот код, пожалуйста, помогите:
<?php
header('Access-Control-Allow-Origin: *');
$host="localhost"; // Host name
$username="id11111_ab"; // Mysql username
$password="*****"; // Mysql password
$db_name="id11111_cd"; // Database name
$tbl_name="ef"; // Table name
// Connect to server and select database.
$link = mysqli_connect($host, $username, $password, $db_name);
// Retrieve data from database
$sql = "SELECT * FROM scores ORDER BY score DESC LIMIT 10";
$result = mysqli_query($link,$sql);
// Start looping rows in mysql database.
while($rows=mysqli_fetch_array($result)){
echo $rows['name'] . "|" . $rows['score'] . "|";
// close while loop
}
?>
Похоже, что соединение mysql не установлено должным образом. Проверьте наличие ошибок:
if(mysqli_connect_errno()){
echo mysqli_connect_error();
}
mysqli_connect
, то $link
будет false
и они получат ошибку при попытке запустить mysqli_query
.
mysqli_query() возвращает false
если он терпит неудачу. Впоследствии функции mysqli_fetch_array()
передается это false
логическое значение, на котором он не может работать. mysqli_query()
бы разумно проверить значение, mysqli_query()
возвращает mysqli_query()
не является ложным до попытки получить ресурс. Например:
$result = mysqli_query($link,$sql);
if (!$result) {
die('Query failed');
}