Member 14782246 Ответов: 2

Предупреждение: mysqli_num_rows() ожидает, что параметр 1 будет mysqli_result, логическое значение задано в C:\wamp64\www\dat3.php на линии 15


<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn=mysqli_connect($dbhost,$dbuser,$dbpass);
$result = mysqli_query($conn,"SELECT * FROM raja");
?>
<!DOCTYPE html>
<html>
 <head>
 <title> Retrive data</title>
 </head>
<body>
<?php
if (mysqli_num_rows($result) > 0) {
?>
  <table>
  
  <tr>
    <td> Name</td>
    
    <td>Email id</td>
  </tr>
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<tr>
    <td><?php echo $row["name"]; ?></td>
    <td><?php echo $row["email"]; ?></td>
</tr>
<?php
$i++;
}
?>
</table>
 <?php
}
else{
    echo "No result found";
}
?>
 </body>
</html>


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

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\dat3.php on line 15

2 Ответов

Рейтинг:
2

markkuk

mysqli_query()[^] возвращает логическое значение FALSE если запрос завершится неудачно. Вы должен проверьте возвращаемое значение перед использованием его в качестве параметра для любого вызова mysqli, который ожидает mysqli_result.


Рейтинг:
0

Corrosio

В вашем соединении с базой данных отсутствует четвертый важный параметр-данные / имя базы данных, к которой вы хотите подключиться.
попробовать это:

<pre>$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '123456';
$dbname = "" ;// your name of db
$conn = new mysqli ($dbhost,$dbuser,$dbpass, $dbname);
$conn -> set_charset("utf8");


?>
<!DOCTYPE html>
<html>
 <head>
 <title> Retrive data</title>
 </head>
<body>
<?php
if ($result = $conn -> query("SELECT*FROM example")) {
?>
  <table>

  <tr>
    <td> Name</td>

    <td>Email id</td>
  </tr>
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<tr>
    <td><?php echo $row["name"]; ?></td>
    <td><?php echo $row["email"]; ?></td>
</tr>
<?php
$i++;
}
?>
</table>
 <?php
}
else{
    echo "No result found";
}
?>
 </body>
</html>