Datensätze über Script löschen

julia29

Erfahrenes Mitglied
Hallo,
eigentlich simpel, aber ich bekomme es nicht hin.

Folgendes funktioniert über phpMyAdmin einwandfrei:
DELETE FROM `tab1` WHERE `feld2` LIKE "abc%"

also alle Datensätze löschen wo im Feld2 mit "abc" beginnt.

Als Script so aufgebaut:
PHP:
<?php 
error_reporting(E_ALL);
include ("login.php");
$dbname = "usr_1991_1"; 
$tabelle ="tab1"; 
$dbverbindung = mysql_connect ($host, $user, $password); 
$dbanfrage = mysql_query("DELETE FROM tab1 WHERE feld2 LIKE 'abc%' ");

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) { 

} else { 
print ("Es traten Probleme auf."); 
} 
mysql_close ($dbverbindung); 
?>

Es wird nicht ausgeführt. Es kommt immer "Es traten Probleme auf".
Wo mache ich was falsch?
Gruß
Julia
 
hat du "$user" "$host" etc. definiert? ;)

Code:
<?php
error_reporting(E_ALL);
include ("login.php");
$dbname = "usr_1991_1";
$tabelle ="tab1";
$user = "xxx";
$host = "localhost";
$password= "pass";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = mysql_query("DELETE FROM tab1 WHERE feld2 LIKE 'abc%' ");

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {

} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>
 
Zuletzt bearbeitet:
mysql_db_query ist eigentlich veraltet und sollte nicht mehr verwendet werden. Da du den Befehl ja mit mysql_query sowieso schon abgesendet hast, brauchst du nur das zu prüfen.
PHP:
$sql = "DELETE FROM tab1 WHERE feld2 LIKE 'abc%';";
if (!mysql_query($sql,$dbverbindung))
	print ("Es traten Probleme auf.");
 
Ich hab schnell was zusammen gebastelt. Das Funktioniert. Hab es bei mir eben getestet.
Code:
<?php

$DatabaseHost = "localhost";
$DatabaseUser = "root";
$DatabasePassword = "";
$Database = "loginsystem";
$TableAktivierung = "users";

    $DatabasePointer = mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword);
    mysql_select_db($Database, $DatabasePointer);
    $dbanfrage = mysql_query("DELETE FROM users WHERE feld2 LIKE 'abc%' ");

if (mysql_db_query ($Database, $dbanfrage, $DatabasePointer))
?>

Musst du nur abändern das es bei dir klappt.
Sobald man auf die Seite geht und dann in die Datenbank schaut sind alle einträge wo nicht NULL steht gelöscht. Denk so wolltest du es oder?
 
Hab noch nicht so den durchblick mit php->sql Aber ich glaube es liegt daran das du vor dem Delete befehl keine Datenbank angegeben hast. Weiß es aber nicht 100%ig
 
Zurück