sql >> Databáze >  >> RDS >> Mysql

MySQLi selhalo při přípravě prohlášení

Všechny funkce/metody mysqli mohou selhat a v takovém případě vrátí hodnotu false. Tj. if Prepare() selže $stmt není objekt, na který můžete volat metodu, ale bool(false). Musíte zkontrolovat návratové hodnoty a přidat nějaké ošetření chyb, např.

$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

viz http://docs.php.net/mysqli-stmt.errno et al

v tomto případě jste pravděpodobně narazili na problém, že nemůžete vytvořit další příkaz, zatímco pro předchozí příkaz stále existují výsledky/výsledkové sady.
viz http://docs.php.net/mysqli-stmt.close :




  1. nejlepší nákupní košíky elektronického obchodu pro vývojáře Zend Framework

  2. 4 způsoby, jak získat seznam plánů v SQL Server Agent (T-SQL)

  3. Kdy/proč používat kaskádování v SQL Server?

  4. Co je formátovací řetězec na serveru SQL?