[PHP/PDO] Problem beim Einfügen in die DB

rapper93k

Well-known member
ID: 285105
L
21 Juni 2007
64
11
Hallo,
ich habe folgenden Code:
PHP:
// Gewerbe eintragen
$sql11 = $objDb->prepare("INSERT INTO gewerbe
                                 (cities_Name, Laeden, LaedenStufe, LaedenZustand, Buerogebaeude, BueroStufe, BueroZustand, Angestellte)
                              VALUES
                                 (:cityname, '0', '1', '100', '0', '1', '100', '0', '1', '100', '0')");
$sql11->bindParam('cityname', $_POST['cityname']);
$sql11->execute() or die('<p class="error">Fehler beim Eintragen des Gewerbenetzes in die Datenbank!</p>');

Vor dieser Abfrage sind noch einige andere, die funktionieren. Hatte das Script geschrieben und bei mir lokal auf dem PC getestet und alles hat funktioniert, doch auf dem Server dann nicht mehr. Erst hatte ich noch Umlaute drin, die habe ich dann herausgenommen und jetzt funktionieren die Abfragen davor doch bei dieser hängt es immer noch. Hoffe mir kann hier jmd. helfen.
MfG
rapper93k

Edit:
Achso ja die Fehlermeldung hab ich vergessen:
Fatal error: Call to a member function bindParam() on a non-object in /var/kunden/webs/JHS/yoc/templ/registrierung.php on line 558
 
Zuletzt bearbeitet:
$objDb->prepare() liefert false zurück, somit ist $sql11 kein Objekt.
 
Was im Übrigen daran liegen könnte, dass Du mehr Werte eintragen möchtest, als dass Du Spalten angegeben hast.
 
Was im Übrigen daran liegen könnte, dass Du mehr Werte eintragen möchtest, als dass Du Spalten angegeben hast.

Ah genau daran liegt's. Vielen Dank. Ich hatte es so einige Male durchgeguckt, aber meist eher nach fehlenden Kommas oder so gesucht.

Edit: Hab jetzt noch ein Problem beim Auslesen in einer anderen Datei. Die Abfrage befindet sich in einer foreach-Schleife in der eine vorherige Abfrage als $row ausgewertet wird. Dann wird mit switch/case das Ergebnis überprüft und in einem Fall kommt dieser Code:
PHP:
$sql2 = $objDb->prepare("SELECT
                            Haeuser
                         FROM
                            wohnen
                         WHERE
                            cities_Name = :cityname");
$sql2->bindParam('cityname', $row[0]);
$sql2->execute() or die('DB-ERROR');
Es kommt wieder die Meldung das $sql2 kein Objekt ist.
Bin ich wieder nur zu blind, um einen Fehler zu finden, oder gibt es irgendeine Regel, durch die das nicht funktioniert?
MfG
rapper93k
 
Zuletzt bearbeitet: