[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не записывает данные INSERT
phz
Добрый вечер. Впервые столкнулся с такой ситуацией. Может туплю просто..

В цикле хочу записать данные. Но нечего не записывается кроме id и date. Ошибок mysql не выдает. Просто пустые 10 записей.

Вот таблица:

CREATE TABLE IF NOT EXISTS `table` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`title` varchar(32) NOT NULL,
`text` text NOT NULL,
`date` int(10) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;



Вот пхп код:

  for ($i =  0; $i < 10; $i++)
{


$content = '<h1>ляля</h1><td>ауау</td>';

preg_match_all("#<h1>(.+)</h1>.*<td>(.+)</td>#isU", $content, $matches);


echo $matches[1][0]; # тут записи выводятся
echo $matches[2][0]; # тут записи выводятся

mysql_query("INSERT `table` SET
`title` = '"
.mysql_real_escape_string($matches[1][0])."',
`text` = '"
.mysql_real_escape_string($matches[2][0])."',
`date` = "
.time()."
"
);

}




Спустя 3 минуты, 36 секунд (7.05.2011 - 21:42) sharki написал(а):
phz
А если без цикла?

Спустя 23 секунды (7.05.2011 - 21:42) phz написал(а):
   echo $matches[1][0]; # тут записи выводятся
echo $matches[2][0]; # тут записи выводятся

Спустя 18 минут, 53 секунды (7.05.2011 - 22:01) phz написал(а):
Цитата (sharki @ 7.05.2011 - 18:42)

А если без цикла?

И без цикла тоже выводиться.

Спустя 2 минуты, 50 секунд (7.05.2011 - 22:04) sharki написал(а):
погодь
Синтаксис неправильный, твой синтаксис для UPDATE а не для INSERT =)

Спустя 2 минуты, 41 секунда (7.05.2011 - 22:06) sharki написал(а):
Вроде так
$sql ="
INSERT INTO `table` (`title`,`text`,`date`)
VALUES ( '"
.mysql_real_escape_string($matches[1][0])."',
'"
.mysql_real_escape_string($matches[2][0])."',
"
.time()."
)"
;

Спустя 14 минут, 29 секунд (7.05.2011 - 22:21) alex12060 написал(а):
sharki

Такой формат допускается.

Спустя 2 минуты, 21 секунда (7.05.2011 - 22:23) phz написал(а):
На самом деле там не

   preg_match_all("#<h1>(.+)</h1>.*<td>(.+)</td>#isU", $content, $matches);


я упростил тут, у меня в цикле парсит 10 страниц. Всё что спарсилось выводится. Но не записываются. Кусок текста в поле записывается и все:

<p><img src='images/l.jpg' alt='


может время что как-то...

Спустя 54 секунды (7.05.2011 - 22:24) sharki написал(а):
alex12060
Действительно, не знал...в доках щас глянул.

Спустя 3 минуты, 37 секунд (7.05.2011 - 22:28) alex12060 написал(а):
phz

Сделай

echo '<pre>';
var_dump($mathecs);
echo '</pre>';


Очень интересный у тебя случай.

Спустя 2 минуты, 23 секунды (7.05.2011 - 22:30) phz написал(а):
Всё, как всегда просто. Парсил с сайта 1251.. база в утф8. Привык на своих сайтах утф. Спасибо за помощь!

Спустя 6 минут, 4 секунды (7.05.2011 - 22:36) inpost написал(а):
sharki
Я его всегда именно такой использую, куда удобнее при огромных данных smile.gif

phz
А ты напиши: слово mysql_query() замени на exit();, а перед этим добавь ещё <pre> и посмотри, подставляются ли данные, и если да, покажи тут как подставляются.

Спустя 2 минуты, 48 секунд (7.05.2011 - 22:39) phz написал(а):
inpost

Сейчас всё ок. ПРоблема была в кодировках. Спасибо все за помощь и внимание.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.