Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Mehrere DELETE ohne Funktion [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mehrere DELETE ohne Funktion


 
cfischbach
23-03-2007, 17:07 
 
Hallo erstmal,

meine Wenigkeit ist neu hier und auch im Prinzip neu im Programmiern :)

Daher hoffe ich habt ihr etwas nachsehen mit mir.

Nun aber zu meinem Problem. Ich führe folgenden Code aus


foreach ($_POST[delid] as $id) {
$del_sql .= "DELETE FROM `referer` WHERE `id` = '".$id."' LIMIT 1;";
}
echo $del_sql;
mysql_query($del_sql,$db_connect);


Das echo gibt mir folgendes aus:

DELETE FROM `referer` WHERE `id` = '1491'; DELETE FROM `referer` WHERE `id` = '1480';


Aber ausgeführt wird es nicht!

Wenn ich hingegen nur 1 Ergebnis drin habe, sprich $_POST[delid] nur eine ID hat, dann wird es ausgeführt. Meine Frage, woran liegts?

Ahja, kopiere ich $del_sql direkt ins mysql (phpMyAdmin oder Shell) funzt's.

-etwas ratlos-
C.

 
penizillin
23-03-2007, 17:13 
 
dein feld id ist doch nicht etwa ein string?

ansonsten: DELETE ... WHERE `id` IN(1,2,3,4,5)

weil

http://de.php.net/manual/en/function.mysql-query.php mysql_query() sends an unique query (multiple queries are not supported) ...

 
cfischbach
23-03-2007, 17:23 
 
Verflixt... das war vom letzten Test übrig geblieben.

[code]
DELETE FROM `referer` WHERE `id` = 1 LIMIT 1;
[code]

So schauts natürlich üblicherweise aus. Wie gesagt, bei einzelnen Eintragslöschungen funzts ohne Probleme, erst bei 2+ DELETES hintereinander geht's nicht mehr, wobei das kopiern in die Shell -wie schon gesagt-, genau bei gleichem sql-statement funktioniert.

:(
C.

 
penizillin
23-03-2007, 17:25 
 
du bist dir sicher, dass du meine antwort gelesen hast?

 
cfischbach
23-03-2007, 17:30 
 
args..

Ich war gerade so von dem "STRING" irritiert und las daher nur den oberen Teil. Und wegen des Ansonsten bezog ich den Rest des Postings auf den Fall STRING.

Entschuldige.. na dann mach ich mich mal auf, das multiple-query umzubasteln.

Danke Dir.

C.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:38 Uhr.