Call to a member function bind_param() on a non-object
Lottokönig
- php
0 tk
Hallo,
oben genanter fehler wird angezeigt. Nur ich finde den verdammten Fehler nicht.
if (mysqli_connect_errno() == 0)
{
$sqlkommentar = 'SELECT * FROM `kommentar` WHERE artikel_id = (?) AND spam = `0` ORDER BY datum';
// Statement vorbereiten
$ergebniskommentar = $db->prepare( $sqlkommentar );
// Holen wir das Feld der FahhandelsID
$ergebniskommentar->bind_param( 's', $fachhandelid );
// an die DB schicken
$ergebniskommentar->execute();
// Ergebnis an Variablen binden
$ergebniskommentar->bind_result( $id, $datum, $artikel_id, $autor, $inhalt, $voting, $ip, $host, $email, $spam );
// Ergebnisse ausgeben
while ($ergebniskommentar->fetch())
{
echo $datum;
echo ' - '.$autor.' <br /> '.$inhalt.' <br /><br />';
}
}
else
{
// Es konnte keine Datenbankverbindung aufgebaut werden
echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
}
Hallo,
$ergebniskommentar = $db->prepare( $sqlkommentar );
$ergebniskommentar->bind_param( 's', $fachhandelid );
$db->prepare() gibt true oder false zurück, in `$ergebniskommentar`{:.language-php} steht also kein Objekt - du meinst wohl eher `$db->bind_param();`{:.language-php}.
Gruß,
Tobias
Hallo Tobias,
ich habe nun $db->bind_param( 's', $fachhandelid );
genutzt.
Jetzt kommt: Call to undefined method mysqli::bind_param()
Ich verstehe das nicht...
Hallo,
$ergebniskommentar = $db->prepare( $sqlkommentar );
$ergebniskommentar->bind_param( 's', $fachhandelid );
>
> $db->prepare() gibt true oder false zurück, in `$ergebniskommentar`{:.language-php} steht also kein Objekt - du meinst wohl eher `$db->bind_param();`{:.language-php}.
>
>
> Gruß,
> Tobias
Hallo,
ich habe nun
$db->bind_param( 's', $fachhandelid );
genutzt.
Jetzt kommt:Call to undefined method mysqli::bind_param()
Ich verstehe das nicht...
Dann verwendest du die MySQLi-Klasse - die Methode bind_param() gibt es aber nur in der MySQLi_STMT-Klasse, siehe Doku.
btw: bitte kein TOFU.
Gruß,
Tobias
Hallo,
vielen Dank für die Erklärung, woran kann ich das erkennen?
Dann verwendest du die MySQLi-Klasse - die Methode bind_param() gibt es aber nur in der MySQLi_STMT-Klasse, siehe Doku.
Hi,
neben dem Verzicht auf TOFU bitte auch in einer hier üblichen Leserichtung zitieren und darauf antworten - von oben nach unten!
vielen Dank für die Erklärung, woran kann ich das erkennen?
Dann verwendest du die MySQLi-Klasse - die Methode bind_param() gibt es aber nur in der MySQLi_STMT-Klasse, siehe Doku.
Woran kannst du *was* erkennen?
Bitte stelle deine Fragen *deutlich* präziser - so, wie du das derzeit machst, muss man dir jeden Wurm einzeln aus der Nase ziehen, und das ermüdet.
MfG ChrisB
Hello Chris,
vielen Dank für die Erklärung, woran kann ich das erkennen?
Dann verwendest du die MySQLi-Klasse - die Methode bind_param() gibt es aber nur in der MySQLi_STMT-Klasse, siehe Doku.
Woran kannst du *was* erkennen?
jetzt suche ich schon die ganze Zeit nach "Member_of" bzw. "Object_from_Class"
Gab es da in PHP nicht die Möglichkeit, die Klasse abzufragen, von der ein Objekt erzeugt wurde?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi Tom,
jetzt suche ich schon die ganze Zeit nach "Member_of" bzw. "Object_from_Class"
Gab es da in PHP nicht die Möglichkeit, die Klasse abzufragen, von der ein Objekt erzeugt wurde?
instanceof?
Gruß,
Andreas.
Hello Andreas,
jetzt suche ich schon die ganze Zeit nach "Member_of" bzw. "Object_from_Class"
Gab es da in PHP nicht die Möglichkeit, die Klasse abzufragen, von der ein Objekt erzeugt wurde?instanceof?
http://de.php.net/manual/en/language.operators.type.php
Ja fast.
Mit diesem Operator kannst Du aber leider nur abfragen, ob eine Instanz eine Instanz einer bekannten Klassenhierarchie ist, nicht jedoch, welche Klasse genau die Mutter der Instanz ist und welchen Namen sie hat. Den Namen musst Du also schon kennen.
Ich war mir sicher, dass wir uns hier schon mal darüber ausgetauscht hatten, dass PHP das im Gegensatz zu Compilersprachen ermöglicht. Wäre natürlich auch vorstellbar, dass es in einer benutzerdefinierten Funktion mittels instanceof und get_declared_classes() ermittelt wurde.
http://de.php.net/manual/en/function.get-declared-classes.php
Stunden später, Tage danach ...
Aua!
Wer suchet, der findet.
echo get_class($my_class_ref);
http://de.php.net/manual/en/function.get-class.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi!
Gab es da in PHP nicht die Möglichkeit, die Klasse abzufragen, von der ein Objekt erzeugt wurde?
Meinst du var_dump()?
Lo!