Помогите пожалуйста найти ошибку в скрипте

Фанат

oncle terrible
Команда форума
офигеть. прямо как в анекдоте.
— Правда ли, что шахматист Петросян выиграл в лотерею "Волгу"?
— Правда, только не шахматист Петросян, а футболист Акопян, и не Волгу, а сто рублей, и не в лотерею, а в преферанс, и не выиграл, а проиграл.
Ну так что ты хочешь, если запрос у тебя не тот же самый?
Какой смысл выполнять запрос с "валидным значением", если тебе надо выяснить, почему у тебя конкретно ЭТОТ запрос ничего не возвращает?
 

accembler

Новичок
я выполняю запрос, который передает php, раз уж он выполняется и ошибок не выдает, а строки возвращает, значит, он корректный. использую значения запросов те же, что и через веб морду ввожу, они, заведомо, верны. однако, через веб морду, возвращается, при любом запросе [0] []
 

Фанат

oncle terrible
Команда форума
а ты упёртый малый.
тебе говорят - выполни тот же запрос, что и в пхп.
ты что угодно готов делать, но только не это. почему?
 

accembler

Новичок
если я выполню без изменений, то возникнут
1 синтаксические ошибки
2 не будет выбрана бд
 

Фанат

oncle terrible
Команда форума
если я выполню без изменений, то возникнут
1 синтаксические ошибки
чувак.
Тебе уже 20 раз сказали, что выполнять надо не пхп код, который формирует запрос, а сам результат выполнения этого кода.
Результатом этого кода должен быть синтаксически корректный SQL. Иначе никакого смысла в твоем пхп коде не будет.

Выбор БД к запросу не имеет отношения. Можешь сделать это заранее
 

accembler

Новичок
да я прекрасно понимаю, что сам скрипт может посылает некорректную строку к sql
 

Фанат

oncle terrible
Команда форума
Ну так выведи уже её, наконец, эту строку!
вместе на неё посмотрим
 

accembler

Новичок
использовал
PHP:
var_dump($sql);
результат
PHP:
string(166) "SELECT NAME, PRODUCER, PRICE_1, PRICE_2, PRICE_3, PRICE_4
FROM component
WHERE NAME LIKE '%уничтожитель%' OR PRODUCER LIKE '%уничтожитель%'"
[0] []
 

accembler

Новичок
выполняя этот скрипт, предварительно закрыв его ";" получаю 2 строки, $result возвращает на страницу [0] []
 

Фанат

oncle terrible
Команда форума
хм. а ты кроме этих [0] [] что-нибудь пытаешься получить? а как?
 

accembler

Новичок
ну я [0][] получить не хочу, а хочу получить строки из таблицы. пытался валидные значения столбцов по которым выборка ведется вводить в форму.
 

accembler

Новичок
PHP:
if (isset ($_POST['query']) && !empty($_POST['query'])){
$connect = connectDB();
$search_result = search ($_POST['query']);
echo $search_result;
closeDB ($connect);
 

Фанат

oncle terrible
Команда форума
а каков код функции search?
она-то что-то возвращает, если нашла?
 

accembler

Новичок
PHP:
function search ($query) { 
$text = '';

// Проводим фильтрацию данных
$query = trim($query); 
$query = strip_tags($query);    
$query = mysql_real_escape_string($query);

	
if (!empty($query)){
  if (strlen($query) < 4) {
    $text = 'короткий поисковый запрос';
  }elseif (strlen($query) > 128) {
    $text = 'длинный поисковый запрос';
  } else {
  
 $sql = "SELECT NAME, PRODUCER, PRICE_1, PRICE_2, PRICE_3, PRICE_4
 FROM component 
 WHERE NAME LIKE '%$query%' OR PRODUCER LIKE '%$query%'";
var_dump($sql);

    $result = mysql_query($sql);
    $end_result = ' ';
 

accembler

Новичок
соответственно, если строк больше 0, то выводим их

PHP:
if(mysql_num_rows($result) > 0) {
       while ($row = mysql_fetch_object($result)){   
          $end_result .=  $row->NAME. "\n";
       }
       $text =  $end_result;
    } else {
        $text =  'По вашему запросу ничего не найдено';
    }	
  } 
}else {
  $text = 'Задан пустой поисковый запрос.';
}
return $text; 
}
 
Сверху