Mysqli update | Uncaught Error: Call to a member function bind_param() on boolean (PHP)
Govanni
- mysqli
- php
Hallo,
ich habe Probleme mit dem MYSQLI Update, es gibt immer die Fehlermeldung:
Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in
Der Code ist überschaubar
//Updaten wir den Spaß
$sql = "UPDATE wp_posts_5 SET
status = '1',
post_title = ?,
post_url = ?,
suche = ?,
link1 = ?,
link2 = ?,
link3 = ?,
link4 = ?,
link5 = ?,
link6 = ?,
link7 = ?,
link8 = ?,
link9 = ?,
link10 = ?,
WHERE id = ?";
$statement = $mysqli->prepare($sql);
$statement->bind_param(
'ssissssssssssi',
$title,
$url_new,
$daten_link_count,
$daten_url_1,
$daten_url_2,
$daten_url_3,
$daten_url_4,
$daten_url_5,
$daten_url_6,
$daten_url_7,
$daten_url_8,
$daten_url_9,
$daten_url_10,
$id
);
Daher habe ich "jede" Variable mit
if (is_bool($daten_url_10) === true) {
echo "Ja, das ist ein Boolean";
}
einzeln jeden String geprüft. Keiner hat einen boolean Wert. Und jetzt?
Danke Govanni
Hallo Govanni,
Fatal error: Uncaught Error: Call to a member function bind_param() on boolean in […] Daher habe ich "jede" Variable mit […] einzeln jeden String geprüft. Keiner hat einen boolean Wert. Und jetzt?
Mit den Werten die du an bind_param() übergibst hat das nichts zu tun, das Problem ist $statement - das ist vmtl. false da prepare() fehl schlägt (warum das so ist musst du mysqli fragen.
Gruß,
Tobias
Hallo Tobias,
ich dachte mit
if(!$statement->execute()) {
echo "Query fehlgeschlagen: ".$statement->error;
}
könnte ich schon alles an Fehlern abfangen. Natürlich hast du Recht der Fehler passiert schon vorher.
Der Code von der PHP Seite
if (!$mysqli->error) {
printf("Errormessage: %s\n", $mysqli->error);
}
gibt leider keinen Fehler aus. Auch
if (!$statement->bind_param(
'ssissssssssssi',
$title,
$url_new,
$daten_link_count,
$daten_url_1,
$daten_url_2,
$daten_url_3,
$daten_url_4,
$daten_url_5,
$daten_url_6,
$daten_url_7,
$daten_url_8,
$daten_url_9,
$daten_url_10,
$id
)){
echo "Binding parameters failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
gibt keinen Fehler aus.
Hallo Govanni,
Der Code von der PHP Seite
if (!$mysqli->error) { printf("Errormessage: %s\n", $mysqli->error); }
gibt leider keinen Fehler aus.
Du lässt ja auch nur eine Fehlermeldung ausgeben wenn kein Fehler aufgetreten ist …
Gruß,
Tobias
Hallo Govanni,
link10 = ?,
WHERE id = ?";
Ich hypothetisiere: da ist ein Komma zu viel und das gibt einen SQL Error.
Rolf
Oh verdammt, du hast recht. Vollkommen richtig, mein Fehler