如何创建用于在数据库 oci 中插入的通用函数

How to create universal function for insert in database oci

我在 Oracle 数据库中创建了用于插入的通用函数,但无法正常工作。

function Insert($conn,$sqlText,$arrayInput){
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }

    $stid = oci_parse($conn,$sqlText);

     //   echo '<pre>' . print_r($arrayVariables, true) . '</pre>';
    foreach($arrayInput as $key=>$var)
    {
        // echo 'varable='.$key.'<br/>'.'value='.$var.'</br>';
        oci_bind_by_name($stid,$key,$var);
    }
    oci_execute($stid);

    oci_commit($conn);
    oci_free_statement($stid);
    oci_close($conn);   
}

知道为什么不起作用吗? 我找不到通过执行 oci_execute($stid); 来查看发送给 oracle 的内容的方法。或绑定的内容

基本上数组的值总是字符串,即使我将它添加为 int。所以我添加了检查 is_number 来解决问题。感谢所有试图帮助我的人,如果有人知道为什么数组不保留 int 值将是很好的分享。