Переменная не работает

Max.xxx

Новичок
Здравствуйте. Очень слаб в php. Помогите пожалуйста разобраться.

Ситуация: В тектовой форме ввожу столбик из номеров. К примеру
123456
654321
000000

Жму кнопку и передаю пас скрипту biq.php
Скрипт подхватывает эти строчки
PHP:
$list = $_POST["textarea"];
$x = explode("\n", $list);
$biq = $x[0];
echo $biq;

Исправно выдает на экран 123456

На этом этапе все прекрассно. Но далее идет

$result = mysql_query ("SELECT *  FROM `new` WHERE `num` LIKE '$biq%'");

while ($myrow = mysql_fetch_assoc ($result))
{
printf ("%s|%s|%s<br>",
$myrow[num],
$myrow[date],
$myrow[name]);
}
На этом этапе ничего не происходит. Если я вручную ввожу "SELECT * FROM `new` WHERE `num` LIKE '123456%'")
то все прекрссно работает. Не могу понять почему вручную 123456 он понимает, а '$biq%' он не понимает. Ведь это одно и то же!
 
Последнее редактирование модератором:

AmdY

Пью пиво
Команда форума
http://phpfaq.ru/debug
у тебя куча ошибок, которые не отображаются, смотри лог или включи их отображение, найдёшь проблему.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
AmdY, это уже на моей памяти третий товарищ, который не знает, как грамотно оформлять переменные. Я уже хз что делать. Постоянно тыкать в /debug уже напрягает

Max.xxx, смотри свои переменные в цикле while и до него. Они по формату записи различаются не значительно, но различие фатально
 

AmdY

Пью пиво
Команда форума
c0dex, так лето же, школьники, студенты, после распределения....
 

Max.xxx

Новичок
Я не смог разобраться в чем проблема. Добавил в скрипт строчки ini_set('display_errors',1); error_reporting(E_ALL);
устранил "ошибки", по сути добавил кавычки для ключей ассоциативного массива, но эти мне никак не помогло. Других ошибок не показывает. переменная по прежнему содержит нужное мне значение, но не срабатывает внутри mysql_query ("SELECT * FROM `new` WHERE `num` LIKE '$biq%'");

Max.xxx, смотри свои переменные в цикле while и до него. Они по формату записи различаются не значительно, но различие фатально
Не могу самостоятельно решить проблему. Укажи пожалуйта точнее, что делать или хотя-бы какой раздел учебника читать.
 
Последнее редактирование:

Max.xxx

Новичок
Я вроде локализовал источник проблемы. Сейчас стоит задача "срастить" два куска данных в один.

Значние $x[0] == 12345, а мне нужно чтобы к этому значению сзади припаять символ "%"
Делаю так:
$biq = $x[0]."%";
echo $biq

12345 % - с пробелом между цифрами и %. Как избавиться от пробела?
 

Max.xxx

Новичок
Странное дело. В $list загоняю три сточки из textarea
$list = $_POST["textarea"];
123456
654321
000000
Делю их и загоняю в массив $x = explode("\n", $list);
echo $x[0] показывает 123456
echo $x[1] показывает 654321
echo $x[2] показывает 000000

На этом этапе все ОК, но когда я сращиваю $x[0] с символом %, то между 123456 и % затесывается пробел. С $x[1] тоже самое - лишний пробел. Только если использую самую нижнюю строчку $x[2], то результат нормальный 000000% - без пробела.
 

Max.xxx

Новичок
Спасибо, я решил проблему. Взял в адские кавычки переменную '".$biq."'
А вопрос с пробелом решился при помощи rtrim - $trimmed = rtrim($x[$i]);
 
Сверху