Intereting Posts
Как создать ссылку для профиля пользователя, например facebook для моей веб-страницы Файл загрузки PHP CURL Неустранимая ошибка: вызов неопределенной функции mysql_connect () Разрешить IP-адрес хоста с помощью PHP получить текущий идентификатор страницы внутри страницы плагина wordpress «Отображение результатов X-Y из Z» с использованием библиотеки разбиения на страницы Codeigniter? Как преобразовать нулевые значения в пустую строку в php-массиве? Laravel ORM из таблицы саморегуляции получает N уровня иерархии JSON Проверьте, существует ли строка, Laravel num_rows () не возвращает правильное число строк, когда результат не пуст Добавить динамические метатеги Facebook в голову Обычный jQuery для отключения кнопок отправки во всех формах после проверки HTML5 Показать divs в зависимости от количества массивов Sudden PHP Error "Предупреждение: imap_open () : Не удалось открыть поток" Указание переменной типа в Netbeans (PHP)

Помогите мне удалить mysql_insert_id

Получил три таблицы (блоги, теги и блоггауты), все AI и ID установлены на первичный ключ. Я создаю систему тегов для отслеживания моих сайтов (localhost). Ниже приведен код работы, но mysql_insert_id просто не кажется достаточно надежным, так как я получаю несколько повторяющихся строк и случайное значение 0 в нем.

/// inserts the blog into blog table. $insert = mysql_query("INSERT INTO blogs (id, url, user, pass, dname, islocal, cat2post) VALUES ('', '$blog', '$bloguser', '$blogpassword', '','NO','$_POST[cat2blog]')")or die( 'Error: ' . mysql_error()); $taggit1 = mysql_insert_id(); $page->content .= "<p class=\"alert\">Success - External blog Added!</p>"; /// let's see what tags we have and explode them. //$tags = $_POST['tags'] which is an array of words seperated by comma $tags = 'fishing'; $pieces = explode(",", $tags); /// go through the tags and add to tags table if needed. foreach ($pieces as $l){ $l = trim($l); $query = "SELECT id FROM tags WHERE tag = '$l'"; $result = mysql_query($query) or die( "Error: " . mysql_error() . " in query $query"); $row = mysql_fetch_array($result); $taggit2 = $row[0]; if ($taggit2 == '') { $insert2 = mysql_query("INSERT INTO tags (id, tag) VALUES ('','$l')")or die( 'Error: ' . mysql_error()); $taggit2 = mysql_insert_id(); $page->content .= "<p class=\"alert\">This tag didn't exist - so I inserted a new tag</p>"; } /// for each tag we have, let's insert the blogstags table so we can reference which blog goes to which tag. Blogstags_id should map to the id of the blog. $insert3 = mysql_query("INSERT INTO blogstags (id, tag_id, blogstags_id) VALUES ('','$taggit2','$taggit1')")or die( 'Error: ' . mysql_error()); } 

Думаю, мне нужно другое решение, чем mysql_insert_id – идеи? Предложения?

В качестве запрошенных структур таблиц:

 CREATE TABLE IF NOT EXISTS `blogs` ( `id` int(11) NOT NULL auto_increment, `url` text NOT NULL, `user` text NOT NULL, `pass` text NOT NULL, `dname` text NOT NULL, `islocal` varchar(3) NOT NULL, `cat2post` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ; CREATE TABLE IF NOT EXISTS `blogstags` ( `id` int(11) NOT NULL auto_increment, `tag_id` int(11) NOT NULL, `blogstags_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; CREATE TABLE IF NOT EXISTS `tags` ( `id` int(11) NOT NULL auto_increment, `tag` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; 

Related of "Помогите мне удалить mysql_insert_id"