PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in W:\domains\testphp\database_insert.php on line 47
maxiiLYY
Отправлено: 02 Января, 2018 - 16:55:17
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2018  


Помог: 0 раз(а)




Ошибка в файле-
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in W:\domains\testphp\database_insert.php on line 47
PHP:
скопировать код в буфер обмена
  1.   <?PHP
  2.  
  3.   $dbhost = "localhost";
  4.   $dbuser = "root";
  5.   $dbpass = "";
  6.   $dbname = "widget_corp";
  7.         $connection = mysqli_connect($dbhost, $dbuser,  $dbpass, $dbname) or die("Failure to connect");
  8.  
  9. if (mysqli_errno($connection)){
  10.        
  11.         die("Database connection failed: " .
  12.                 mysqli_connect_error() .
  13.                 " (" . mysqli_errno() . ") "
  14. );
  15.                 }
  16.  
  17. ?>
  18.  
  19.  
  20. <?PHP
  21. $menu_name = "Edit me";
  22. $position = 4;
  23. $visible = 1;
  24. $query = "InSERT INTO subjects (menu_name, position, visible) VALUES ('{$menu_name}', {$position}, {$visible})";
  25. $result = mysqli_query($connection, $query);
  26.  
  27.  
  28.  if ($result){
  29.         echo "Success";
  30.  }
  31. else{
  32.          die("Database query failed. " . mysqli_error($connection));
  33. }
  34.  
  35. ?>
  36.  
  37. <html>
  38. <head>
  39. <meta charset="utf-8">
  40. <title>Databases</title>
  41. </head>
  42. <body>
  43.  
  44.  
  45.  <?PHP
  46.        
  47.         while($subject = mysqli_fetch_assoc($result)){
  48.                
  49.                 ?>
  50.                 <li><?PHP echo $subject['menu_name']; ?></li>
  51.         <?PHP
  52.         }
  53.        
  54.         ?>
  55.  
  56.  
  57. </body>
  58. </html>
  59. <?PHP
  60.  
  61.  
  62. mysqli_close($connection);
  63. ?>
  64.  


Сам код.
 
 Top
andrewkard
Отправлено: 02 Января, 2018 - 17:49:24
Post Id


Участник


Покинул форум
Сообщений всего: 1217
Дата рег-ции: Нояб. 2014  


Помог: 23 раз(а)




А что Вас смущает, Вы же инсерт делаете.

Цитата:

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. For SELECT, SHOW, DESCRIBE or EXPLAIN mysqli_query() will return a result object.
 
 Top
maxiiLYY
Отправлено: 02 Января, 2018 - 18:11:21
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2018  


Помог: 0 раз(а)




andrewkard пишет:
А что Вас смущает, Вы же инсерт делаете.

Цитата:

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. For SELECT, SHOW, DESCRIBE or EXPLAIN mysqli_query() will return a result object.


Ну как же PHP мне warning бросает. Я ж как начинающий php хочу узнать что ерунда
 
 Top
andrewkard
Отправлено: 02 Января, 2018 - 20:34:50
Post Id


Участник


Покинул форум
Сообщений всего: 1217
Дата рег-ции: Нояб. 2014  


Помог: 23 раз(а)




maxiiLYY пишет:
mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given


mysqli_fetch_assoc() ожидает параметр первый как объект, а дано булево значение

maxiiLYY пишет:
$query = "InSERT INTO subjects (menu_name, position, visible) VALUES ('{$menu_name}', {$position}, {$visible})";
$result = mysqli_query($connection, $query);


в случае:

maxiiLYY пишет:
InSERT INTO subjects


в переменной $result будет булево значение, true либо false
(Добавление)
Ну и еще добавлю, если Вы хотите вывести что то на странице с БД, нужно делать
SELECT, т.е. в данном коде нужно выполнить после INSERT запрос на выборку

PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "InSERT INTO subjects (menu_name, position, visible) VALUES ('{$menu_name}', {$position}, {$visible})";
  3. $result = mysqli_query($connection, $query);
  4.  
  5.  
  6.  if ($result){
  7.         echo "Success";
  8.  }
  9. else{
  10.          die("Database query failed. " . mysqli_error($connection));
  11. }
  12.  
  13. $query = "SELECT * FROM subjects WHERE 1";
  14. $result = mysqli_query($connection, $query);
  15.  
  16.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB