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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: правильная запись в БД

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: Trianon   (17.03.2010 в 21:31)   письмо автору
 
   для: Рома   (17.03.2010 в 21:06)
 

Дайте человеку подумать.

  Ответить  
 
 автор: Рома   (17.03.2010 в 21:06)   письмо автору
 
   для: Dizels   (17.03.2010 в 20:49)
 

>я это уже понял, но разве
>$zz=mysql_real_escape_string($tov_mat);
>не исправляет эту ситуацию?

нет. эта функция совсем для другого предназначена. в мануале же написано за чем она нужна.

>Но вопрос от этого актуальность не потерял, как все таки обработать переменную, чтобы можно
>было внести эти значения в базу данных?

можно.
присваивая строку переменной объясните скрипту, что в данной ситуации \n не является символом перевода строки, а является простой последовательностью символов.

  Ответить  
 
 автор: Dizels   (17.03.2010 в 20:49)   письмо автору
 
   для: Dizels   (17.03.2010 в 20:48)
 

Сейчас вот написал ответ и сам понял, что собственно \n так и остается, поэтому в БД так и записывается.

Но вопрос от этого актуальность не потерял, как все таки обработать переменную, чтобы можно было внести эти значения в базу данных?

  Ответить  
 
 автор: Dizels   (17.03.2010 в 20:48)   письмо автору
 
   для: Рома   (17.03.2010 в 20:43)
 

>последовательность символов \n является частью языка, а вы этого до сих пор не знаете
я это уже понял, но разве
$zz=mysql_real_escape_string($tov_mat); 

не исправляет эту ситуацию?

  Ответить  
 
 автор: Рома   (17.03.2010 в 20:43)   письмо автору
 
   для: Dizels   (17.03.2010 в 20:29)
 

последовательность символов \n является частью языка, а вы этого до сих пор не знаете

  Ответить  
 
 автор: Dizels   (17.03.2010 в 20:29)   письмо автору
 
   для: Dizels   (17.03.2010 в 20:23)
 

Собственно обрадовался я рано, в приведенном выше коде выводится все как надо, однако при добавлении в БД все равно записывается
brand
oname

Вот код на текущий момент:
<?php
// Соединяемся с базой данных
require_once("config.php");
$tov_mat "brand\noname";
$zz=mysql_real_escape_string($tov_mat);
echo 
$zz;
$y "INSERT INTO te VALUES (NULL,'$zz')";        
print 
$y;                        
if(
mysql_query($y))
    {
        echo 
"Данные добавлены в БД<br>";
    }
echo 
"<br><b>ЗАВЕРШЕНО!</b><br>";    
?>

Ткните носом что не так?

  Ответить  
 
 автор: Dizels   (17.03.2010 в 20:23)   письмо автору
 
   для: neadekvat   (17.03.2010 в 20:18)
 

Понял в чем проблема, вот как надо (для тех кто тоже столкнулся с такой проблемой):
$tov_mat = "brand\noname";
$zz=mysql_real_escape_string($tov_mat);
echo $zz;

  Ответить  
 
 автор: neadekvat   (17.03.2010 в 20:18)   письмо автору
 
   для: Dizels   (17.03.2010 в 20:11)
 

Вам же уже посоветовали использовать mysql_real_escape_string().

  Ответить  
 
 автор: Dizels   (17.03.2010 в 20:11)   письмо автору
 
   для: neadekvat   (17.03.2010 в 20:06)
 

Вот как я понимаю логику данного кода:
$tov_mat = "brand\noname";
mysql_real_escape_string($tov_mat);
echo $tov_mat;

1 строчка - присваиваем переменной значение.
2 строчка - экранируем переменную
3 строчка - выводим ее.

Как я понимаю - проблема в том, что во время исполнения 1 строки уже происходит преобразование \n в перенос строки, т.е. во второй строке уже просто нечего экранировать. Но вот как правильно это записать - не могу понять.

  Ответить  
 
 автор: neadekvat   (17.03.2010 в 20:06)   письмо автору
 
   для: Trianon   (17.03.2010 в 20:01)
 

И не поспоришь =)
Впредь зарекаюсь удалять информативную часть поста.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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