sql >> Databasteknik >  >> RDS >> Mysql

Hur infogar man ett verkligt NULL-värde i en nullbar kolumn?

Försök att byta till förberedda uttalanden (som som en bonus är mindre benägna att använda SQL-injektioner).

function save($gmt, $name, $address, $phone, $remark)
{
    if(!isset($phone) || empty($phone)) { $phone = null; }
    if(!isset($remark) || empty($remark) { $remark = null; }

    $db = new PDO(...);

    $stmt = $db->prepare("INSERT INTO `user` (`gmt`, `name`, `address`, `phone`, `remark`) VALUES (:gmt, :name, :address, :phone, :remark)");
    $stmt->bindValue("gmt", $gmt, PDO::PARAM_STR);
    $stmt->bindValue("name", $name, PDO::PARAM_STR);
    $stmt->bindValue("address", $address, PDO::PARAM_STR);
    $stmt->bindValue("phone", $phone, PDO::PARAM_STR);
    $stmt->bindValue("remark", $remark, PDO::PARAM_STR);
    $stmt->execute();
}

Detta kommer att hantera null värden korrekt i MySQL



  1. Snabbaste sättet att ladda numerisk data till python/pandas/numpy array från MySQL

  2. Hur man analyserar databasindexens hälsa

  3. PHP genererar dynamisk PDO-infogning

  4. Kan inte ansluta Azure Web App - NodeJS till Azure Mysql