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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Обработка текста, содержащего { " ' перед помещением в базу данных
 
 автор: himera7   (10.11.2006 в 19:26)   письмо автору
 
 

есть
$sql_TextFIN_check="SELECT * FROM text_reading WHERE full_text='".$text_finBD."'";
при чем в $text_finBD может хранится текст с { " ' ; и т д} не произойдет ли ошибка при выполнении даного запроса
если да то как ее избежать ?

   
 
 автор: cheops   (10.11.2006 в 19:37)   письмо автору
 
   для: himera7   (10.11.2006 в 19:26)
 

Это зависит от того, откуда тексто поступает, если это просто не экранированный текст, то ошибка может произойти, лучше писать следующим образом
<?php
  $sql_TextFIN_check
="SELECT * FROM text_reading WHERE full_text='".mysql_escape_string($text_finBD)."'";
?>

если текст поступает из POST, GET, COOKIE-источников, то спец-символы могут экранироваться или не экранироваться в зависимости от того, включён режим "магических кавычек" на сервере или нет. В этом случае следует прибегать к конструкции вида
<?php
  
if (!get_magic_quotes_gpc())
  {
    
$text_finBD mysql_escape_string($text_finBD);
  }
  
$sql_TextFIN_check="SELECT * FROM text_reading WHERE full_text='".$text_finBD."'";
?>

   
 
 автор: himera7   (10.11.2006 в 21:01)   письмо автору
 
   для: cheops   (10.11.2006 в 19:37)
 

В чем тогда ошибка

$sql_TextFIN2="SELECT FROM text_reading WHERE full_text='".$text_finBD."'";
$result_TextFIN2 = mysql_query($sql_TextFIN2,$db);
$myrow_TextFIN2 = mysql_fetch_array($result_TextFIN2);
$ID_TextFin=$myrow_TextFIN2["id"];

при загрузки пишет

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

   
 
 автор: Yakor   (10.11.2006 в 21:08)   письмо автору
 
   для: himera7   (10.11.2006 в 21:01)
 

>В чем тогда ошибка

$sql_TextFIN2="SELECT * FROM text_reading WHERE full_text='".$text_finBD."'";

нехватает * (звездочки) между SELECT и FROM :)

   
 
 автор: himera7   (10.11.2006 в 21:25)   письмо автору
 
   для: Yakor   (10.11.2006 в 21:08)
 

вот стормозил же я )))

   
Rambler's Top100
вверх

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