WordPress 数据库 insert() 和 update() - 使用 NULL 值

2024-03-31

WordPress 附带wpdb处理 CRUD 操作的类。我感兴趣的这个类的两个方法是insert()(CRUD 中的 C)和update()(CRUD 中的 U)。

当我想将 NULL 插入 mysql 数据库列时出现问题 -wpdb类将 PHP 空变量转义为空字符串。我如何告诉 WordPress 使用实际的 MySQLNULL而不是 MySQL 字符串?


如果你希望它兼容,你必须显示列并提前确定是否允许 NULL。如果允许,则如果值为空($v),则在查询中使用 val = NULL。

$foo = null;
$metakey = "Harriet's Adages";
$metavalue = "WordPress' database interface is like Sunday Morning: Easy.";

if ($foo == null) {
$wpdb->query( $wpdb->prepare( "
    INSERT INTO $wpdb->postmeta
    ( post_id, meta_key, meta_value, field_with_null )
    VALUES ( %d, %s, %s, NULL )", 
        10, $metakey, $metavalue ) );
} else {
$wpdb->query( $wpdb->prepare( "
    INSERT INTO $wpdb->postmeta
    ( post_id, meta_key, meta_value, field_with_null )
    VALUES ( %d, %s, %s, %s)", 
        10, $metakey, $metavalue, $foo ) );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress 数据库 insert() 和 update() - 使用 NULL 值 的相关文章

随机推荐