我正在尝试将数组传递给我的查询占位符,但它不能像我期望的那样工作。这是查询:
select * from A where id IN (1,2,3)
这是PHP函数:
$ids=['1','2','3'];
$result = $this->queryall_array(select * from A where id IN (?,?,?),$ids);
我不确定这是否是正确的方法。 谢谢,
答案 0 :(得分:0)
我们无法看到自定义queryall_array函数的内容,但是从php文档中可以找到使用oracle执行此操作的正确方法:
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}
$stid = oci_parse($conn,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");
$id = 1;
$text = "Data to insert ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $text);
oci_execute($stid);