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

  • Автор темы Автор темы Max.xxx
  • Дата начала Дата начала

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%' он не понимает. Ведь это одно и то же!
 
Последнее редактирование модератором:
http://phpfaq.ru/debug
у тебя куча ошибок, которые не отображаются, смотри лог или включи их отображение, найдёшь проблему.
 
AmdY, это уже на моей памяти третий товарищ, который не знает, как грамотно оформлять переменные. Я уже хз что делать. Постоянно тыкать в /debug уже напрягает

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

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

Не могу самостоятельно решить проблему. Укажи пожалуйта точнее, что делать или хотя-бы какой раздел учебника читать.
 
Последнее редактирование:
Я вроде локализовал источник проблемы. Сейчас стоит задача "срастить" два куска данных в один.

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

12345 % - с пробелом между цифрами и %. Как избавиться от пробела?
 
Странное дело. В $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% - без пробела.
 
Спасибо, я решил проблему. Взял в адские кавычки переменную '".$biq."'
А вопрос с пробелом решился при помощи rtrim - $trimmed = rtrim($x[$i]);
 
Сверху