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

PHP MySQL - Как да вмъкна стойност по подразбиране в подготвен оператор

Имах същия проблем, така че адаптирах този отговор https://stackoverflow.com/a/13867665/ 1251063 към php подготвено изявление:

if(!($stmt = $this->conn->prepare("INSERT INTO mytable (myfield) VALUES (IFNULL(?,DEFAULT(myfield)))"))){
    throw new Exception("Prepare failed: (" . $this->conn->errno . ") " . $this->conn->error);
}

if(!($stmt->bind_param("s",$myfield))) { //$myfield is a variable that can be null, if so the default value for such field will be inserted
    throw new Exception("Bind_param failed: (" . $this->conn->errno . ") " . $this->conn->error);
}

if(!$stmt->execute()) {
    throw new Exception("Execute failed: (" . $stmt->errno . ") " . $stmt->error);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо SQL Workbench винаги връща ред, пълен с нулеви стойности във всяка заявка?

  2. Паролата не се потвърждава с помощта на функцията password_verify

  3. Извличане на текущи потребителски идентификатори от базата данни, за да се използва в нова таблица

  4. T_BOOLEAN_AND грешка?

  5. Как да премахнете уникален ключ от таблицата на mysql