Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQLi не успява да подготви изявление

Всички функции/методи на mysqli могат да се провалят, в който случай те ще върнат false. т.е. ако подготовката() не успее, $stmt не е обект, на който можете да извикате метод, а bool(false). Трябва да проверите върнатите стойности и да добавите обработка на грешки, напр.

$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

вижте http://docs.php.net/mysqli-stmt.errno et al

в този случай вероятно сте се сблъскали с проблема, че не можете да създадете друго изявление, докато все още има изчакващи резултати/набори с резултати за предишния израз.
вижте http://docs.php.net/mysqli-stmt.close :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. подсистема на windows инсталирайте mysql сървър

  2. Как да напишете няколко колони в клауза с sqlalchemy

  3. как да зададете масив като потребителска променлива на mysql

  4. Функция MySQL SIN() – Връща синуса на число в MySQL

  5. Максимална дължина на името на таблица в MySQL