Daten in Datenbank einfuegen

Hey leute,

ich uebe mich gerade wieder in MySQL, PHP und soweiter wieder ein und code gerade an ner kleinen internetseite fuer mich rum und da trag folgender fehler beim eintragen von daten in die datenbank auf:

Fatal error: Call to a member function prepare() on a non-object in ***\Test\useranlegen.php on line [B]41

[/B]hier der code:
$sql = ‚INSERT INTO
users(firstname,lastname,nick,email)
VALUES
("‘.$_POST[‚lastname‘].‚",
"‘.$_POST[‚firstname‘].‚",
"‘.$_POST[‚nick‘].‚",
"‘.$_POST[‚email‘].‚")‘;
$result = $db->prepare($sql);
if (!$result)
{
die ('Etwas stimmte mit dem Query nicht: '.$db->error);
}
echo 'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze
\n";
$result->close();
unset($result);

die verbindung zur DB hat funktioniert.

wisst ihr was da flasch ist??

liebe gruesse

Steht doch eh schon in der Fehlermeldung bei prepare handelt es sich um kein Objekt.

Schau dir die Klasse mal genauer an.

Mfg Splasch

okay war ne sau dummer fehler von mir…
sorry fuer die belaestigung ;-D

Nein, da handelt es sich um eine member function (oder methode). Das wird nie ein Objekt sein.
Da steht, dass die Funktion prepare nicht in einem Objekt aufgerufen wird.

Efchen das Thema ist schon längst erledigt und Problem wurde gelöst!

Für genaue Erklärungen gibst den Tutorials bereich.

(Das wird nie ein Objekt sein == bei prepare handelt es sich um kein Objekt.)

Ich weiß das du meine Setze immer etwas anderes interpretierst aber meinen tun wir beide das selbe. :wink:

Mfg Splasch

Dass das Problem schon gelöst ist, hat ja auch nichts damit zu tun, dass die Aussage falsch war. Sowas kann ich nicht einfach so stehen lassen, der nächste, der diesen Thread bei google findet, glaubt jetzt vielleicht, dass prepare() ein Objekt sein muss oder irgendsowas seltsames…

Wer was falsches schreibt, muss sich auch verbessern lassen :wink:

Efchen das Benutzer Foto passt 100% zu dir. :smiley:

Die Ausgabe ist sehr wohl Richtig. Ich werd mal versuchen dir Deutsche bedeutungen zu Erklären.

Kein ist eine verneinung und bedeuted das es nicht darauf zutrift.

Hier für dich extra ein einfaches Beispiel:

Wenst du ein Foto mit einen Auto sieht und jemand sagt das ist kein Apfel dann ist die Ausage richtig.

Um was es sich handel geht aus dem Satz nicht hervor. Aber du schließt daraus das es ein Apfel ist.

Ich hoffe du hast es nun Verstanden!

Mfg Splasch

Willst Du mich veräpfeln?

Natürlich ist die Aussage richtig, dass prepare() kein Objekt ist. Genauso wie ein Auto kein Apfel ist.
Aber die Aussage war falsch, weil sie nichts mit der Fehlermeldung zu tun hat. Die Fehlermeldung hat nicht ausgesagt, dass prepare() kein Objekt ist, sondern was ganz anderes, was für das Verständnis objektorientierter Programmierung einfach wichtig ist.

Wenn zu Dir jemand sagt „Der Apfel ist giftig“, dann ist die Aussage „Der Apfel ist kein Auto“ sicherlich richtig, steht aber in keinem Zusammenhang zur ursprünglichen Aussage!

roll

Efchen ich hab nie erwähnt was in der Fehlermeldung drin steht. Sondern ich hab 2 Hinweise geben wo der Fehler liegt.

Das ist ein Unterschied. Ich geh mal davon aus das jeder selber die Fehlermeldung lesen kann wenn er sie nicht versteht kann er sie ja auch übersetzen lassen.

1 Hinweis er soll die Fehlermeldung noch mal genauer anschauen.
2 Hinweis wo der Fehler Auftritt und zwar genau dann wenn er versucht über ein Objekt das nicht exsitiert eine Methode anzusprechen.

Das ich nicht jeden alles vorscripten werde ist doch wohl klar.Den sonst könnten immer gleich die Foren user das Script für jemanden anderen Schreiben.

Aber hilfe stellung woran es liegt gibt immer und wenn jemand dann noch immer nicht weiß woran es liegt folgen weitere Hinweise.

Mfg Splasch

Dann würde mich interessieren, wie Du das gemeint haben könntest:

Lies doch einfach die vorige Mitteilung weiter oben von mir dort steht auch schon deine Antwort.
Ich habe leider nicht die Zeit dir alles wie einem kleinen Kind zu erklären.

Solltest du es nicht verstanden haben dann bitte ein freund von dir er möge Dir die oben erwähnten Sätze erklären.

Mfg Splasch

Ja nee, iss klar.
Da weiß jeder wie das gemeint ist, wenn jemand eine direkte Frage gestellt bekommt, dann aber darauf hinweist, wie wenig Zeit er hat.

Verstehe. Schöne, fragenfreie Weihnachtszeit!

hihi lustige unterhaltung xD
danke fuer euere hilfe trotzdem
mein fehler war das ich die datenbank verbindung in der variable $link hatte, aber die variable $db benutzt habe um die ganzen befehle auszufuehren xD