|
|
|
|
|
для: alex_fear
(23.02.2011 в 14:33)
| | их и не требуется экранировать,.
Как минимум пока Вы не решаете задачу создания шаблона для операции LIKE.
Если Вы LIKE не применяете, символы % и _ являются самыми обычными, не специальными.
То же самое касается левого операнда этой операции. | |
|
|
|
|
|
|
|
для: Trianon
(23.02.2011 в 13:36)
| | Проблему пока решил но кажится что не будет экранировать % _ вот эти знаки? Или я не прав? | |
|
|
|
|
|
|
|
для: alex_fear
(23.02.2011 в 13:16)
| | Литеральный php-текст, перед тем, как обрамить его апострофами, необходимо подвергнуть экранированию спецсимволов. Делается это путем добавления \ перед каждым \ ' "
Литеральный SQL-текст, перед тем, как обрамить его апострофами, необходимо подвергнуть экранированию спецсимволов. Делается это путем добавления \ перед каждым \ ' " и некоторыми другими. Обычно применяется функция mysql_real_escape_string() | |
|
|
|
|
|
|
|
для: Trianon
(23.02.2011 в 12:49)
| | И еще как заставить воспринемать вот такой символ ',J
если задаю параметр
$naz='',J';
mysql_query("select * from kat_naz WHERE NAZ='$naz'")
|
Оно ',J воспринемает как " как это убрать? | |
|
|
|
|
|
|
|
для: Trianon
(23.02.2011 в 12:49)
| | ОК | |
|
|
|
|
|
|
|
для: alex_fear
(23.02.2011 в 12:46)
| | какой тип, кодировка и сопоставление регистров (collation) у поля kat_naz ?
если ..._ci (case insensitive / нечувствительно к регистру) - то ничего удивительного, в общем-то. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 18:47)
| | Вобщем столкнулся с такой проблемой делаю вот такой запрос
$naz=$data1['NAZ'];
echo $naz ;
$result2=mysql_query("select * from kat_naz WHERE NAZ='$naz'");
while($data2=mysql_fetch_array($result2)){
echo $data2['NAZ'];
|
параметр $data1['NAZ']=(bl
а выводит вот такой результат
$data2['NAZ']=(Bl(bL(bl
Хотя должно только (bl
Проблема с регистром(( | |
|
|
|
|
|
|
|
для: alex_fear
(22.02.2011 в 18:32)
| | А, у вас $ просто символ, а не начало переменной? Тогда у вас работал бы и такой запрос
<?php
$query = 'select * from kat_naz WHERE NAZ1="$K#.D"';
?>
| и такой
<?php
$query = "select * from kat_naz WHERE NAZ1='\$K#.D'";
?>
| Дело в том, что в двойных кавычках $ рассматривается как начало PHP-переменной и её нужно экранировать \ или помещать в одиночные кавычки, где такой интерпретации не происходит. Ваш вариант, безусловно, тоже верный. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2011 в 17:25)
| | Вобщем сделал вот так
<?php
$prob='$K#.D';
$query = "select * from kat_naz WHERE NAZ1='$prob'";
$result=mysql_query($query);
if(!$result) exit("Ошибка - ".mysql_error());
if(mysql_num_rows($result))
{
while($data1=mysql_fetch_array($result))
{
$naz1=$data1['NAZWA'];
echo"$naz1";
}
}
?>
|
И вроде заработало! | |
|
|
|
|
|
|
|
для: alex_fear
(22.02.2011 в 17:22)
| | Так, выведите запрос в окно браузера, как он выглядит?
| |
|
|
|
|