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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Поиск сайта

 PHP.SU

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


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

> Без описания
ilyagoalie
Отправлено: 16 Августа, 2016 - 14:01:08
Post Id



Новичок


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


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




Не ищет ничего( При поиске выдает ошибку mysqli_num_rows() expects exactly 1 parameter, 2 given in ... on line 32
В чем проблема? Как исправить?
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-Type:text/html;charset=utf-8');
  3. $c = mysqli_connect("localhost", "user", "password", "bd");
  4. if (!$c) {
  5.    printf("Невозможно подключиться к базе данных , код ошибки: %s\n", mysqli_connect_error());
  6.    exit;
  7. }
  8. mysqli_set_charset($c, 'utf8');
  9.  
  10. if(isset($_GET['k'])){
  11.     $k = mysqli_real_escape_string($c, trim($_GET['k']));
  12.  
  13.     $terms = explode (' ', $k);
  14.     $query = "SELECT * FROM search WHERE ";
  15.  
  16.     $i = 1;
  17.     foreach ($terms as $each)
  18.     {
  19.     if ($i == 1)
  20.     {
  21.     $query .= "keywords LIKE '%$each%' ";
  22.     }
  23.     else
  24.     {
  25.     $query .= "OR keywords LIKE '%$each%' ";
  26.     }
  27.  
  28.     $i++;
  29.     }
  30.  
  31.     $query = mysqli_query($c, $query)or die(mysqli_error($c));
  32.     if (mysqli_num_rows($c, $query) > 0)
  33.     {
  34.     while ($row = mysqli_fetch_assoc($c, $query))
  35.     {
  36.     echo '<h2><a href="' . $row['link'] . '">' . $row['title'] . '</a></h2>' . $row['description'] . '<br /><br />';
  37.     }
  38.     }
  39.     else
  40.     {
  41.     echo 'No results found for <b>' . $k . '</b>';
  42.     }
  43.  
  44.     mysqli_close($c);
  45.     }
  46. ?>
  47.  
  48. <!DOCTYPE html>
  49. <html>
  50. <head>
  51. <meta charset="utf-8">
  52. <title>Поиск</title>
  53. </head>
  54. <body>
  55.     <form action='http://www.site.ru/search/search.php' method='get'>
  56. <input type='text' name='k' size='50' value="<?PHP if(!empty($_GET['k'])){echo $_GET['k'];} ?>" />
  57. <input type='submit' value='Search'/>
  58. </form>
  59. <hr />
  60.  
  61. </body>
  62. </html>
 
 Top
andrewkard
Отправлено: 16 Августа, 2016 - 15:37:13
Post Id


Участник


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


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




Выведите $query перед запросом и попробуйте выполнить в phpMyAdmin или консоли
 
 Top
ilyagoalie
Отправлено: 16 Августа, 2016 - 17:25:35
Post Id



Новичок


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


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




andrewkard, вроде сделал все как вы сказали, но ошибка остается. Или может я не так что-то сделал? Не понял
 
 Top
esterio
Отправлено: 16 Августа, 2016 - 17:57:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




ошибка явно говорит, что ожидаеться один аргумент, в то время как передано два. Читаем документацию http://php.net/manual/ru/mysqli-...ult.num-rows.php и меняем на
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result = mysqli_query($c, $query) or die(mysqli_error($c));
  3. if (mysqli_num_rows($result) > 0) {
  4.         while ($row = mysqli_fetch_assoc($c, $query)) {
  5.                 echo '<h2><a href="' . $row['link'] . '">' . $row['title'] . '</a></h2>' . $row['description'] . '<br /><br />';
  6.         }
  7. }
  8. else {
  9.         echo 'No results found for <b>' . $k . '</b>';
  10. }
 
 Top
ilyagoalie
Отправлено: 16 Августа, 2016 - 18:27:30
Post Id



Новичок


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


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




esterio, наконец-то! Спасибо огромное! Поклон
 
 Top
ilyagoalie
Отправлено: 27 Августа, 2016 - 20:25:45
Post Id



Новичок


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


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




esterio, не подскажите, как выводить цифру количества результатов? Не понял
 
 Top
dcc0
Отправлено: 27 Августа, 2016 - 21:12:32
Post Id


Участник


Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014  


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






-----
Март 2021. Бросил программирование
 
 Top
ilyagoalie
Отправлено: 27 Августа, 2016 - 23:31:31
Post Id



Новичок


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


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




dcc0, большущее спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB