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 :: Версия для печати :: ошибка mysql_num_rows() expects parameter 1
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » ошибка mysql_num_rows() expects parameter 1

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

1. Fishen - 19 Февраля, 2016 - 01:28:08 - перейти к сообщению
ругается Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\111\result.php on line 29
PHP:
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3. <STYLE type="text/css">
  4. .center { text-align: center; }
  5. </STYLE>
  6. <TITLE> Турагенство "Travel" - Поиск туриста</title></head>
  7. <BODY>
  8. <H1> Турагенство "Travel".</H1>
  9. <H2> Поиск данных о туристе.</H2>
  10. <?PHP
  11. if (isset($_POST['posted']))
  12. {
  13. $cvet = $_POST['cvet'];
  14. $First = $_POST['First'];
  15. trim($search_term); // удаление пробелов из начала и конца строки
  16. if ($cvet == "" or $First == "")
  17. { echo "Вы не ввели параметры поиска. Пожалуйста, попробуйте снова."; exit; } // остановка выполнения сценария
  18. $cvet =addslashes($cvet );
  19. $First = addslashes($First);
  20. $db = mysql_pconnect("localhost" , "root", ""); //установка соединения
  21. if (!$db)
  22. { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже.";
  23. exit; }
  24. mysql_SELECT_db("dai"); // выбор базы данных
  25. $query = "SELECT Cars.model, cars.year, cars.massa, cars.dvig, cars.mesta, cars.cvet, vladelets.name, vladelets.passport, vladelets. adress
  26. FROM cars, vladelets
  27. WHERE vladelets.Id = cars.id_vladelets".$cvet." LIKE '%".$First."%'";
  28. $result = mysql_query($query); // выполнение запроса
  29. $num_rows = mysql_num_rows($result);
  30. //$num_rows = $result->mysql_num_rows;
  31. // подсчет количества результатов
  32. echo "<p> <h3> Информации найдено: ".$num_rows.".</h3></p>";
  33. echo "<table cellpadding=5 border=2>\n";
  34. echo "<tr><th width=100>модель</th>
  35. <TH width=100>год</TH><th width=100>масса</th>
  36. <TH width=100>объем</TH>
  37. <TH width=100>места</TH>
  38. <TH width=100>цвет</th>
  39. <TH width=100>имя</TH>
  40. <TH width=100>пасспорт</TH>
  41. <TH width=100>адресс</th></tr>\n";
  42. for ($i=0; $i<$num_rows; $i++)
  43. { $row = mysql_fetch_array($result);
  44. // обработка ряда результата запроса
  45. echo "<TR><TD class \"center\">$row[Number]</TD>
  46. <TD>$row[model]</TD>
  47. <TD>$row[year]</TD>
  48. <TD>$row[massa]</TD>
  49. <TD>$row[dvig]</TD>
  50. <td>$row[mesta]</TD>
  51. <TD>$row[cvet]</TD>
  52. <TD>$row[name]</TD>
  53. <TD>$row[passport]</TD>
  54. <TD>$row[adress]</TD>
  55.  
  56.  
  57. <TD class=\"center\">$row[Names]</TD>
  58. <TD class=\"center\">$row[Name]</TD></TR>\n"; } }
  59. ?>
  60. </BODY>
  61. </HTML>
2. DelphinPRO - 19 Февраля, 2016 - 04:31:33 - перейти к сообщению
Бинго!!! Вы - миллионный человек, задавший этот вопрос!

Получите свой приз по этой ссылке
3. Fishen - 19 Февраля, 2016 - 13:11:27 - перейти к сообщению
DelphinPRO пишет:
Бинго!!! Вы - миллионный человек, задавший этот вопрос!

Получите свой приз по этой ссылке


прошу прощения ,но там ответа не нашел(

добавил строку что бы ошибку показывало
теперь ругается
0: 1054: Unknown column 'vladelets.idcvet' in 'where clause'
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\111\result.php on line 31
1054: Unknown column 'vladelets.idcvet' in 'where clause'


PHP:
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3. <STYLE type="text/css">
  4. .center { text-align: center; }
  5. </STYLE>
  6. <TITLE> Турагенство "Travel" - Поиск туриста</title></head>
  7. <BODY>
  8. <H1> Турагенство "Travel".</H1>
  9. <H2> Поиск данных о туристе.</H2>
  10. <?PHP
  11. if (isset($_POST['posted']))
  12. {
  13. $cvet = $_POST['cvet'];
  14. $First = $_POST['First'];
  15. trim($search_term); // удаление пробелов из начала и конца строки
  16. if ($cvet == "" or $First == "")
  17. { echo "Вы не ввели параметры поиска. Пожалуйста, попробуйте снова."; exit; } // остановка выполнения сценария
  18. $cvet =addslashes($cvet );
  19. $First = addslashes($First);
  20. $db = mysql_pconnect("localhost" , "root", ""); //установка соединения
  21. if (!$db)
  22. { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже.";
  23. exit; }
  24. mysql_SELECT_db("dai"); // выбор базы данных
  25. $query = "SELECT Cars.model, cars.year, cars.mesta, cars.massa, cars.dvig, cars.cvet, vladelets.name, vladelets.passport, vladelets.adress
  26. FROM cars, vladelets
  27. WHERE cars.Id = vladelets.id".$cvet." LIKE '%".$First."%'";
  28. echo mysql_errno() . ": " . mysql_error() . "\n";
  29. $result = mysql_query($query); // выполнение запроса
  30. echo mysql_errno() . ": " . mysql_error() . "\n";
  31. $num_rows = mysql_num_rows($result);
  32. echo mysql_errno() . ": " . mysql_error() . "\n";
  33. //$num_rows = $result->mysql_num_rows;
  34. // подсчет количества результатов
  35. echo "<p> <h3> Информации найдено: ".$num_rows.".</h3></p>";
  36. echo "<table cellpadding=5 border=2>\n";
  37. echo "<tr><th width=100>модель</th>
  38. <TH width=100>год</TH><th width=100>масса</th>
  39. <TH width=100>объем</TH>
  40. <TH width=100>места</TH>
  41. <TH width=100>цвет</th>
  42. <TH width=100>имя</TH>
  43. <TH width=100>пасспорт</TH>
  44. <TH width=100>адресс</th></tr>\n";
  45. for ($i=0; $i<$num_rows; $i++)
  46. { $row = mysql_fetch_array($result);
  47. // обработка ряда результата запроса
  48. echo "<TR><TD class \"center\">$row[Number]</TD>
  49. <TD>$row[model]</TD>
  50. <TD>$row[year]</TD>
  51. <TD>$row[massa]</TD>
  52. <TD>$row[dvig]</TD>
  53. <td>$row[mesta]</TD>
  54. <TD>$row[cvet]</TD>
  55. <TD>$row[name]</TD>
  56. <TD>$row[passport]</TD>
  57. <TD>$row[adress]</TD>
  58.  
  59.  
  60. <TD class=\"center\">$row[Names]</TD>
  61. <TD class=\"center\">$row[Name]</TD></TR>\n"; } }
  62. ?>
  63. </BODY>
  64. </HTML>


ругается на
PHP:
скопировать код в буфер обмена
  1.  WHERE cars.Id = vladelets.id".$cvet." LIKE '%".$First."%'";

з.ы. писал не сам, брал с примера. Как правильно выставить что бы искало столбцы ".$cvet." из строки ".$First." ?

помогите новичку ,пожалуйста
4. DelphinPRO - 19 Февраля, 2016 - 15:22:47 - перейти к сообщению
Fishen пишет:
прошу прощения ,но там ответа не нашел(

Прощу прощения, а вы там искали ответ на свой конкретный вопрос, или пытались понять, почему возникает такая ошибка?

Fishen пишет:
Unknown column 'vladelets.idcvet'

"неизвестный столбик 'vladelets.idcvet'"
т.е. в таблице vladelets нет столбика с названием idcvet
Что именно здесь непонятно?


После выполнения запроса всегда выполняйте проверку
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query($query);
  3. if ($result !== false) {
  4.   // запрос выполнился корректно
  5.   // переменную $result можно здесь использовать
  6. } else {
  7.   // Нужно вывести сообщение об ошибке в запросе.
  8. }



У вас неправильный запрос, который корректно не выполняется.
Что бы знать как составить правильный запрос, нужно знать структуру ваших таблиц, и что именно вы хотите получить запросом.
выкладывайте, авось кто подскажет...
5. Fishen - 19 Февраля, 2016 - 17:26:34 - перейти к сообщению
всё сделал, всё работает - забыл поставить AND в 31 строке
PHP:
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3. <STYLE type="text/css">
  4. .center { text-align: center; }
  5. </STYLE>
  6. <TITLE> Турагенство "Travel" - Поиск туриста</title></head>
  7. <BODY>
  8. <H1> Турагенство "Travel".</H1>
  9. <H2> Поиск данных о туристе.</H2>
  10. <?PHP
  11. if (isset($_POST['posted']))
  12. {
  13. $vibor1 = $_POST['vibor1'];
  14. $First = $_POST['First'];
  15. $vibor2 = $_POST['vibor2'];
  16. $second = $_POST['second'];
  17. trim($search_term); // удаление пробелов из начала и конца строки
  18. //if ($vibor1 == "" or $First == "") //если пусто
  19. //{ echo "Вы не ввели параметры поиска. Пожалуйста, попробуйте снова."; exit; } // остановка выполнения сценария
  20. $vibor1 =addslashes($vibor1 );
  21. $First = addslashes($First);
  22. $vibor2 =addslashes($vibor2 );
  23. $second = addslashes($second);
  24. $db = mysql_pconnect("localhost" , "root", ""); //установка соединения
  25. if (!$db)
  26. { echo " Ошибка: Невозможно подключиться к MySQL серверу. Пожалуйста, попробуйте позже.";
  27. exit; }
  28. mysql_SELECT_db("dai"); // выбор базы данных
  29. $query = "SELECT cars.id, Cars.model, cars.year, cars.mesta, cars.massa, cars.dvig, cars.cvet, vladelets.name, vladelets.passport, vladelets.adress
  30. FROM cars, vladelets
  31. WHERE vladelets.Id = cars.id AND ".$vibor1." LIKE '%".$First."%' AND ".$vibor2." LIKE '%".$second."%'";
  32.  
  33. echo mysql_errno() . ": " . mysql_error() . "\n";
  34.  
  35. // $query = "SELECT cars.id, Cars.model, cars.year, cars.mesta, cars.massa, cars.dvig, cars.cvet, vladelets.name, vladelets.passport, vladelets.adress
  36. // FROM cars, vladelets
  37. // WHERE vladelets.Id = cars.id AND "
  38. // .$vibor2." LIKE '%".$second."%'";
  39.  
  40. echo mysql_errno() . ": " . mysql_error() . "\n";
  41. $result = mysql_query($query); // выполнение запроса
  42. echo mysql_errno() . ": " . mysql_error() . "\n";
  43. $num_rows = mysql_num_rows($result);
  44. echo mysql_errno() . ": " . mysql_error() . "\n";
  45. //$num_rows = $result->mysql_num_rows;
  46. // подсчет количества результатов
  47. echo "<p> <h3> Информации найдено: ".$num_rows.".</h3></p>";
  48. echo "<table cellpadding=5 border=2>\n";
  49. echo "<tr><th width=100>Номер путевки</th>
  50. <th width=100>модель</th>
  51. <TH width=100>год</TH>
  52. <th width=100>масса</th>
  53. <TH width=100>объем</TH>
  54. <TH width=100>места</TH>
  55. <TH width=100>цвет</th>
  56. <TH width=100>имя</TH>
  57. <TH width=100>пасспорт</TH>
  58. <TH width=100>адресс</th></tr>\n";
  59. for ($i=0; $i<$num_rows; $i++)
  60. { $row = mysql_fetch_array($result);
  61. // обработка ряда результата запроса
  62. echo "<TR>
  63. <TD>$row[id]</TD>
  64. <TD>$row[model]</TD>
  65. <TD>$row[year]</TD>
  66. <TD>$row[massa]</TD>
  67. <TD>$row[dvig]</TD>
  68. <td>$row[mesta]</TD>
  69. <TD>$row[cvet]</TD>
  70. <TD>$row[name]</TD>
  71. <TD>$row[passport]</TD>
  72. <TD>$row[adress]</TD>
  73. </TR>\n"; } }
  74. ?>
  75. </BODY>
  76. </HTML>



подскажите, как осуществить выборку больше-меньше с использованием LIKE?
".$vibor1." LIKE '%".$First."%' - это знак уравнения? или посылания? мол брать значения со строки first и выбирать со поля vibor1 ?
как сделать что бы выбирало "значение меньше чем в строке first из поля vibor1?

прилагаю саму страницу, где вводятся значения
PHP:
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3. <TITLE> Поиск</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <H1> База.</H1>
  7. <H2> Поиск данных о автомобиле.</H2>
  8. <FORM method="POST" action="result.php">
  9. <INPUT type="hidden" name="posted" value="true">
  10.  
  11. Выберите критерий поиска 1:<br>
  12. <SELECT name="vibor1">
  13. <OPTION value="model">модель   
  14. <OPTION value="year">год
  15. <OPTION value="mesta">места
  16. <OPTION value="massa">масса
  17. <OPTION value="dvig">объем
  18. <OPTION value="cvet">цвет
  19. <OPTION value="name">имя
  20. <OPTION value="passport">пасспорт
  21. <OPTION value="adress">адресс
  22. </SELECT><br>
  23. Введите строку:<br>
  24. <INPUT name="First" type=TEXT><br>
  25.  
  26. Выберите критерий поиска 2:<br>
  27. <SELECT name="vibor2">
  28. <OPTION value="model">модель   
  29. <OPTION value="year">год
  30. <OPTION value="mesta">места
  31. <OPTION value="massa">масса
  32. <OPTION value="dvig">объем
  33. <OPTION value="cvet">цвет
  34. <OPTION value="name">имя
  35. <OPTION value="passport">пасспорт
  36. <OPTION value="adress">адресс
  37. </SELECT><br>
  38. Введите строку:<br>
  39. <INPUT name="second" type=TEXT><br>
  40. <INPUT type=submit value="Поиск"></form>
  41. </BODY>
  42. </HTML>

 

Powered by ExBB FM 1.0 RC1