繁体   English   中英

将查询值从变量设置为null

[英]setting query value to null from variable

我正在尝试使用PDO将空值插入数据库中,但似乎有问题

public function addBookCategory($id, $isbn, $category, $parent){
    $id = $this->dbh->quote($id);
    $isbn = $this->dbh->quote($isbn);
    $category = $this->dbh->quote($category);
    $parent = $this->dbh->quote($parent);

    return $this->query(
        "INSERT INTO book_categories 
        VALUES($id, $isbn, $category, $parent) 
        ON DUPLICATE KEY UPDATE id = $id"
    );
}

在某些情况下,父列可以为null,但是以下任何一个都不会将parent设置为null,而是将值设置为空字符串“”或空字符串“ NULL”。

$database->addBookCategory("kujhg", "asdasd", "asdasd", NULL);
$database->addBookCategory("kujhg", "asdasd", "asdasd", "");
$database->addBookCategory("kujhg", "asdasd", "asdasd", "NULL");

如何解决这个问题?

你应该写列名

   "INSERT INTO book_categories (id, isbn , category,parent)
    VALUES($id, $isbn, $category, $parent) 
    ON DUPLICATE KEY UPDATE id = $id"

然后用这个

  $database->addBookCategory("kujhg", "asdasd", "asdasd", NULL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM