sql >> Database >  >> RDS >> Mysql

MySQLi kan geen verklaring voorbereiden

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 :




  1. Voeg tijdstempelkolom toe met standaard NU() alleen voor nieuwe rijen

  2. Hoe SYS_GUID() werkt in MariaDB

  3. Is de OraOLEDB-provider in .NET onbetrouwbaar op CLOB-velden?

  4. Prestatiewaarde van COMB-gidsen