Co próbuję zrobić, to przechodzić przez wpis tekstowy, w którym użytkownik wprowadza znaczniki do posta na blogu. Chcę dodać każdy tag do bazy danych, jeśli jeszcze nie istnieje.
Rzeczywisty ciąg zapytania poniżej działa, gdy testuję w bazie danych.
Jednak myślę, że moja składnia pętli może nie całkiem się zgadza, ponieważ nic nie dodaje się do DB.
Czy ktoś może wykryć błąd w mojej pętli, powodując niepowodzenie mojego "dodaj do bazy danych"?
Z góry dziękuję za pomoc!
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);
}
Co wywołuje echo lub używanie print_r na $ _POST ['__ tags']? Czy na początku coś wraca? –
Twój kod jest podatny na wtrysk sql. Również funkcje mysql_ * są przestarzałe i nie powinny być dłużej używane, jeśli to możliwe. http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Cfreak