如何在SQL中存储空数组?

时间:2015-06-22 23:52:10

标签: php sql arrays oracle

我遇到了PHP / SQL的问题

我尝试使用oci_bind_array_by_name

将空数组传递给SQL
oci_bind_array_by_name($stid, ":c1", $array, 5, -1, SQLT_CHR);

会给我'Maximum array length must be greater than zero'错误

但是,如果我第一次检测到数组长度并跳过obi_bind_array_by_name如果数组为空,我将从SQL中获取错误

'not all variables bound'

我有时需要将空数组存储到sql中。我不知道如何解决这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您仍需要绑定所有变量,即使它们没有

的值
select * 
from t1 
where t1.id = :1 

您仍然必须将:1设置为值,如果您想忽略该条件,请执行以下操作:

select * 
from t1 
where (t1.id = '' or '' is '');

假设它被设置为空字符串。