Member 14729284 Ответов: 1

Hii, я пытаюсь запустить таблицу mysql на localhost с PHP и получаю эту ошибку.


Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in C:\wamp64\www\database\mydb.php on line 25


Что я уже пробовал:

<?php
echo "<!DOCTYPE html>";
echo "<html>";
echo "<head>";
echo "<title> Psychiatric disorders database </title>";
echo "<style>";
echo "<table align='center' border='1px' width:'600px' line-height:'40px;'>";
echo "</style>";
echo "</head>";
echo "<body>";


$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";

include("connection.php");

$sql = "SELECT  Accession ID, Title, Abstract, Sample size, Tissue type, PMID, Platform ID, Platform details, Raw data FROM schizophrenia raw datasets ";
$result = mysqli_query($conn, $sql);

	{
// output data of each row
    while($row = mysqli_fetch_assoc($result)) 
		
     echo "<table><tr><th> Accession ID </th><th>Title</th> <th> Abstract </th><th> Sample size </th><th> Tissue type </th><th> PMID </th><th> Platform ID </th><th> Platform details </th><th> Raw data </th></tr>";
	}
	echo "<tr><td>", $row['Accession ID'], "</td><td>", $row['Title'], "</td><td>", $row['Abstract'], "</td><td>",$row['Sample size'], "</td><td>",$row['Tissue type'], "</td><td>",$row['PMID'], "</td><td>",$row['Platform ID'], "</td><td>",$row['Platform details'], "</td><td>",$row['Raw data'],"</td></tr>";
	echo "</table>";
     
     //$conn->close();
     //</body>;
     //</html>;
?>

1 Ответов

Рейтинг:
11

phil.o

Функция PHP mysqli query() [^] будет возвращать false если SELECT запрос не выполняется. Ваш запрос имеет raw datasets предложение, которое не принадлежит синтаксису MySQL; оно, вероятно, вызывает сбой запроса и возврат false... Ваших тоже не хватает ` разделители вокруг имен элементов.
Таким образом, вы должны сначала всегда использовать mysqli_query функция в if блок для обработки случаев, когда он возвращается false Во-вторых, постарайтесь избавиться от raw datasets предложение, и добавьте разделители, и посмотрите, что произойдет.

$sql = "SELECT  `Accession ID`, `Title`, `Abstract`, `Sample size`, `Tissue type`, `PMID`, `Platform ID`, `Platform details`, `Raw data` FROM schizophrenia";

if ($result = mysqli_query($conn, $sql))
{
   // output data of each row
   while($row = mysqli_fetch_assoc($result))
   {
      // ...
   }
   // ...
}


Member 14729284

Спасибо Вам за решение...

phil.o

Добро пожаловать. Может быть, вы могли бы закрыть оба вопроса, которые вы задали на одну и ту же тему, чтобы они оставили очередь без ответа? Это было бы очень ценно.