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

Форум MySQL

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

 

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

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

тема: Не могу заполнить таблицу
 
 автор: FatBoy   (07.11.2005 в 13:16)   письмо автору
 
 

У меня есть список фирм:
...
"LUFTHANSA", НЕМЕЦКИЕ АВИАЛИНИИ
"WEKATRANS BISHKEK", (ГЕРМАНИЯ)
"АЭРОФЛОТ", ПРЕДСТАВИТЕЛЬСТВО
"ВЕРТОН", ОСОО
АЗС "ШНОС"
АВТОБУСНЫЙ ПАРК # 1
АЭРОПОРТ
...

я хочу занести их в базу. код:

$query = "insert into all_firms (name_rus)
values ($dan[0])";
$r=mysql_query($query); 
if  (!$r) 

     echo "Не могу заполнить! $query<br>";



поле name_rus text,
$dan[0] принимает поочередно приведенные значения и "не может заполнить"
в чем причина - в кавычках, в запятой, в #?
Но тогда почему просто АЭРОПОРТ не заполняет?

Следующие фирмы занесены:
...
ФЕНИКС АВИЭЙШН
АВТО-БУС СЕРВИС
...
причем в файле они были в кавычках, при просмотре в MyAdmin они занесены, но уже без кавычек.

PS. Список набран не мной, в нем много тысяч всего - надо это перенести как есть (не надо советовать заменить кавычки, скобки и т.д.)

   
 
 автор: spiner   (07.11.2005 в 13:35)   письмо автору
 
   для: FatBoy   (07.11.2005 в 13:16)
 

>$dan[0] принимает поочередно приведенные значения и "не может заполнить"

А мне кажется не принимает. По идее при записи в базу слова в "", php их экранирует \". С этим проблем не должно быть.
И еще: правильно будет изменить в запросе

....values ('$dan[0]')

И всегда в таких случаях, и не только в таких, надо писать:

if  (!$r)
{
     echo "Не могу заполнить! $query<br>";
     echo mysql_error();
     exit();

   
 
 автор: FatBoy   (07.11.2005 в 14:11)   письмо автору
 
   для: spiner   (07.11.2005 в 13:35)
 

Большое спасибо!

добавление кавычек в строку ...values ('$dan[0]') очень помогло, все зашибись, но тут вылезла очередная проблемка. Таких названий не очень много, но они есть:

"SETUN'-ALMAZ COMPANY"

одинарная кавычка внутри текста - как с ней бороться?

   
 
 автор: cheops   (07.11.2005 в 16:15)   письмо автору
 
   для: FatBoy   (07.11.2005 в 14:11)
 

Содержимое строк, помещаемых в базу данных MySQL предварительно следует пропустить через функцию mysql_escape_string(), которая экранирует все спец-символы
<?php
  $text 
mysql_escape_string($text);
?>

   
Rambler's Top100
вверх

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