Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблемы с запросом
 
 автор: magic   (02.06.2009 в 12:40)   письмо автору
 
 

Подскажите как осуществить такой запрос. У меня есть выпадающее меню, где пользователь делает определеный выбор за тем вводит в поле для ввода номер и производит поиск.все вроде работает, проблема возникает тогда когда происходит запрос. Запрос выглядит так

if(!empty($_POST['poisk']))
{
    $marka=$_POST['marka'];
    $cod=$_POST['number'];
    # подключаемся к базе;
    include "incl/connect.php";
    $query = mysql_query ("select * from $marka where match (kod) against ('$cod')");
    if(mysql_num_rows($query)>0)
    {
        echo "<table border=1 cellpadding=0  и  т.д.

как осуществить правильный запрос, если вместо $marka подставить прямое имя таблицы то все работает. И еще когда подставлена переменая выводится сообщение

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /sata1/home/users/sait.ru/index.php on line 62
Не найдено

у меня на компе ищет, но сообщение mysql_num_rows всеровно выходит, а вот на хосте вообще не ищет.
И еще один момент когда поиск выполнен, страницу сколько не перезагружай все остается я имею ввиду результаты. как перезагрузить страницу что бы очистить?

  Ответить  
 
 автор: magic   (02.06.2009 в 14:39)   письмо автору
 
   для: magic   (02.06.2009 в 12:40)
 

А в ответ тишина, не кто и не поможет :-)

  Ответить  
 
 автор: ronin80   (02.06.2009 в 15:01)   письмо автору
 
   для: magic   (02.06.2009 в 14:39)
 

ну насчёт подставить значение переменной (как например имя таблицы) в запрос у меня так до сих пор и не получилось, приходится программно формировать такие моменты, т.е. не с использованием переменной а именно вставкой имени таблицы

было однажды такое желание в процедуре подставлять имя таблицы в запрос на отбор данных (select) посредством подстановки значения переменной, такое желание отпало :)

  Ответить  
 
 автор: magic   (02.06.2009 в 15:12)   письмо автору
 
   для: ronin80   (02.06.2009 в 15:01)
 

Ну как если надо, как можно выйти из этой ситуации

  Ответить  
 
 автор: Valick   (02.06.2009 в 15:28)   письмо автору
 
   для: magic   (02.06.2009 в 15:12)
 

A так?

$query="SELECT * FROM `".$marka."` WHERE match (kod) against ('$cod')";
$res = mysql_query($query);

  Ответить  
 
 автор: magic   (02.06.2009 в 15:56)   письмо автору
 
   для: Valick   (02.06.2009 в 15:28)
 

Не помогает я так тоже делал.

  Ответить  
 
 автор: Valick   (02.06.2009 в 16:03)   письмо автору
 
   для: magic   (02.06.2009 в 15:56)
 

Сейчас порылся у себя... нашёл вот, что..
// Имя таблицы
$table_name="work";
// Формируем запрос к БД
$query="SELECT *
    FROM `$table_name` WHERE  id_work=$id_work";
$name=mysql_query($query);

// Получаем имя первичного ключа
$id=trianon_name_id($name);
$res=type_table($name);
echo "<pre>";
print_r ($res);
echo "</pre>";
while ($row=mysql_fetch_assoc($name))
{
    $keyval = $row[$id];
    unset($row[$id]);
    $new[$keyval]=$row;
}

пол года назад работало)

  Ответить  
 
 автор: magic   (02.06.2009 в 17:03)   письмо автору
 
   для: Valick   (02.06.2009 в 16:03)
 

Как так может быть, я вроде понял в чем дело только теперь мне не верится.

if(!empty($_POST['poisk']))
{
      $marka=$_POST['marka'];
      $cod=$_POST['number'];
       # подключаемся к базе;
      include "incl/connect.php";

      $query = mysql_query ("select * from $marka where match (kod) against ('$cod')");
                                                     
      if(mysql_num_rows($query)>0)
      { и т..д

запрос $query пропускает код.
я спецально делал в нем синтаксические ошибки, причем критические, а код на них не реагирует. Вывод он его пропускает. Толькоу меня не укладывается в голове как такое может быть. до этого места все выводится и срабатывает. что интересно это происходит только на хосте. на локальной машине все работает как часики. Может кто знает, может хостеры что то выключают.

  Ответить  
 
 автор: magic   (02.06.2009 в 18:11)   письмо автору
 
   для: magic   (02.06.2009 в 14:39)
 

А в ответ тишина, не кто и не поможет :-)

  Ответить  
 
 автор: magic   (02.06.2009 в 18:42)   письмо автору
 
   для: magic   (02.06.2009 в 18:11)
 

Поставил в запросе такое or die(mysql_error()) теперь все прояснилось. во время этого запроса пишет что таких таблиц не существует (их несколько). Но таблицы есть и к БД подключение работает, потому что выше в коде я из другой таблицы в этой же БД беру данные. Что может быть почему скрипт не видит именно эти таблицы

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования