Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result
Форумы портала PHP.SU » » Вопросы новичков » Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result

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

1. maxiiLYY - 02 Января, 2018 - 16:55:17 - перейти к сообщению
Ошибка в файле-
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.  


Сам код.
2. andrewkard - 02 Января, 2018 - 17:49:24 - перейти к сообщению
А что Вас смущает, Вы же инсерт делаете.

Цитата:

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки. For SELECT, SHOW, DESCRIBE or EXPLAIN mysqli_query() will return a result object.
3. maxiiLYY - 02 Января, 2018 - 18:11:21 - перейти к сообщению
andrewkard пишет:
А что Вас смущает, Вы же инсерт делаете.

Цитата:

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


Ну как же PHP мне warning бросает. Я ж как начинающий php хочу узнать что ерунда
4. andrewkard - 02 Января, 2018 - 20:34:50 - перейти к сообщению
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.  

 

Powered by ExBB FM 1.0 RC1