Zend Framework将NULL字符串转换为MySql的实际NULL值

Eri*_*icP 4 null zend-framework insert

不知何故,当使用带有execute()函数的多行插入将数据导入mysql时,有些行添加了一些列的字符串NULL.如何将这些NULL字符串转换为MySQL NULL值,以便在显示数据时可以使用php中的is_null()检查空值.

我该如何避免这个问题?我正在为每个数据使用quote()函数.这是在空字段上使用引号的问题吗?我正在导入一个csv文件.

谢谢

Bil*_*win 9

要插入SQL NULL或任何其他表达式,可以使用Zend_Db_Expr对象.即使你使用quote(),ZF 也会通过不带引号传递这些对象.

$null = new Zend_Db_Expr("NULL");

$table = new MyTable();
$table->insert(123, "abc", $null);
Run Code Online (Sandbox Code Playgroud)

请注意,由于使用Zend_Db_Expr绕过引用和参数化,因此您负责防止SQL注入.


这与您的问题相关,但请考虑LOAD DATA INFILE您是否批量加载CSV文件.它甚至比使用多行快20倍INSERT.