Что я пытаюсь сделать, это цикл через текстовый ввод, где пользователь вводит теги для сообщения в блоге. Я хочу добавить каждый тег в базу данных, если он еще не существует.
Фактическая строка запроса ниже работает, когда я тестирую в базе данных.
Однако я думаю, что мой синтаксис цикла, возможно, не совсем прав, потому что я ничего не добавляю в БД.
Может ли кто-нибудь обнаружить ошибку в моей петле, вызвав неудачу моего «добавления в базу данных»?
Заранее благодарим за вашу помощь!
foreach ($_POST['__tags'] as $key=>$ls_value) {
$value = strtolower(mysql_real_escape_string($ls_value));
mysql_query("INSERT INTO `table` (`field`)
SELECT * FROM (SELECT '$value') as tmp
WHERE NOT EXISTS (
SELECT `field` FROM `table` WHERE `field` = '$value')
LIMIT 1") or trigger_error(mysql_error(), E_USER_ERROR);
}
Что возвращает эхо или использует print_r на $ _POST ['__ tags']? С чего начать? –
Ваш код уязвим для SQL-инъекции. Также функции mysql_ * устарели и больше не должны использоваться, если это вообще возможно. http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Cfreak