Alle mysqli-functies/-methoden kunnen mislukken, in welk geval ze false retourneren. D.w.z. als prepare() mislukt, is $stmt geen object waarop je een methode kunt aanroepen, maar een bool(false). U moet de geretourneerde waarden controleren en wat foutafhandeling toevoegen, bijvoorbeeld
$stmt = $mysqli->prepare('SELECT name FROM `rooms` WHERE r_id=?');
if ( !$stmt ) {
printf('errno: %d, error: %s', $mysqli->errno, $mysqli->error);
die;
}
$b = $stmt->bind_param('i', $roomID);
if ( !$b ) {
printf('errno: %d, error: %s', $stmt->errno, $stmt->error);
}
$b = $stmt->execute();
if ( !$b ) {
and so on and on
zie http://docs.php.net/mysqli-stmt.errno et al
in dit geval ben je waarschijnlijk het probleem tegengekomen dat je geen ander statement kunt maken terwijl er nog resultaten/resultatensets in behandeling zijn voor het vorige statement.
zie http://docs.php.net/mysqli-stmt.close
: