Mysqli update | Uncaught Error: Call to a member function bind_param() on boolean (PHP)
    
Govanni
    
    
      
    
  - mysqli
- php
 nicht angemeldet
 nicht angemeldetHallo,
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