В моей базе данных mysql я получаю ТОЛЬКО записи для id 26, 16, 17, 18, 19, 22, 23, 24. Почему это, есть ли какая-либо ошибка в мой код? Я не; т иметь ключ, пожалуйста, помогите :(Php foreach loop вставляет только часть записей в таблицу mysql
<?
$connect = mysql_connect('localhost', 'dbname', 'pass');
if (!$connect) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("dbname") or die(mysql_error());
mysql_query("TRUNCATE TABLE anchors");
$blog_ids = array(
'anchor 1' => '1',
'anchor 2' => '2',
'anchor 3' => '3',
'anchor 2' => '4',
'anchor 2' => '5',
'anchor 4' => '6',
'anchor 5' => '7',
'anchor 6' => '8',
'anchor 7' => '9',
'anchor 8' => '10',
'anchor 9' => '13',
'anchor 10' => '14',
'anchor 11' => '16',
'anchor 12' => '17',
'anchor 13' => '18',
'anchor 14' => '20',
'anchor 15' => '21',
'anchor 16' => '22',
'anchor 17' => '23',
'anchor 18' => '24',
'anchor 19' => '25',
'anchor 20' => '26'
);
foreach($blog_ids as $anchor => $blog_id){
$anchor_url = 'http://www.site.com';
mysql_query("INSERT INTO anchors (blog_id, anchor_url, anchor) VALUES ('$blog_id', '$anchor_url', '$anchor')");
}
mysql_close($connect);
?>
Ты очень много, здесь структура таблицы:
CREATE TABLE `anchors` (
`id` int(11) NOT NULL auto_increment,
`blog_id` text,
`anchor_url` text,
`anchor` text,
PRIMARY KEY (`id`),
FULLTEXT KEY `posttitle` (`blog_id`,`anchor_url`,`anchor`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
Для любви к Богу не убивайте свою базу данных со всеми этими запросами. Создайте одно огромное, комбинированное предложение 'INSERT', содержащее все данные (' INSERT INTO tbl (x, y) VALUES ((x1, y1), (x2, y2), (...)) 'или, по крайней мере, готовые заявления – kba
Привет, Кристиан, я новичок, вы говорите, что не используете цикл foreach? Ty очень много – webmasters
Да. Это эквивалентно перемещению кучи бумаги из одной таблицы в другую, по одному листу за раз, перемещая всю кучу все вместе. Это очень много ненужного трафика. – kba