我无法使此代码正常工作:

$elements = explode(';',$var); //$var contains a bunch of data...csv style.
$sql ="INSERT INTO TABLE
                (Col1,Col2,Col3,Col4,Col5)
                select :data1,:data2,:data3,:data4,:data5 from DUAL
                 where not EXISTS  (select * from TABLE where (Col1= :data1 and Col2= :data2 AND Col3 = :data3 AND col4= :data4 AND col5 = :data5))
                ";

    foreach ($elements as $value){
    $query1 = $connexion->prepare($sql);
    $query1->bindParam(':data1', $elements[0]);
    $query1->bindParam(':data2', $elements[1]);
    $query1->bindParam(':data3', $elements[2]);
    $query1->bindParam(':data4', $elements[3]);
    $query1->bindParam(':data5',$elements[4]);
    $query1->execute();
    }
    var_dump($elements[0].$elements[1].$elements[2].$elements[3].$elements[4]);
//the dump shows that there's no null on my elements

    $query1->closeCursor();

当我执行页面时,出现此错误:

Warning: PDOStatement::execute() [pdostatement.execute]: param is NULL in oci_bind_input_cb; this should not happen

当然插入失败。 我尝试使用bindValue,但是我一直收到相同的错误。 你能帮忙吗?

  ask by RidRoid translate from so

本文未有回复,本站智能推荐:

1回复

如何在Oracle过程中捕获pdo_oci的参数消息

我的程序: out参数消息显示在:outmsg 我的连接返回此变量: 连接类型pdo_oci
1回复

在PHP中启用PDO_OCI

我一直在PHP中使用oci_ ,但我想开始使用PDO。 我已经阅读了http://www.php.net/manual/en/ref.pdo-oci.php,但是我不确定如何启用PDO_OCI。 我看到页面上列出的命令,但是我使用sudo apt-get install php5而不是通过
1回复

php脚本中的PDO_OCI在cronjob(crontab)中不起作用,但在由用户直接执行时起作用

在控制台中执行时,连接到数据库以检索数据并将其发送到Web服务的php 5.5.14脚本可以正常工作,但在cronjob(crontab)中不起作用。 当cronjob执行脚本时,未建立通过pdo_oci驱动程序的数据库连接,而是引发了带有消息'SQLSTATE []:(null)'的异常'P
3回复

Oracle,PDO_OCI与OCI8

我工作的公司目前使用一些基本功能来抽象OCI库作为数据库连接的手段。 我们正在考虑切换到PHP的PDO对象,但从一些快速搜索来看,看起来Oracle驱动程序比其他PDO驱动程序稍微不成熟。 对于在生产环境中使用PDO / oci8的人,我将不胜感激。 谢谢!
1回复

使用OCI查询PDO

我已经设置了所有与PDO_OCI一起使用的功能。 我也建立了联系。 但是,一旦我尝试获取某些东西,它总是返回false或null: 有人有主意吗? 它与OCI_PDO有关吗? 提前致谢。
1回复

显示oci_parse'd语句

有没有一种方法可以显示刚刚被ociparse处理过的SQL语句(有或没有绑定变量)? 我维护着一个遗留应用程序,有时SQL是从许多不同的地方以及之间的许多条件构建的。 我最好做一个print_r($ handle),但是当然不行。
4回复

如何在ubuntu机器上安装oracleinstantclient和pdo_oci?

我需要在ubuntu机器上安装PDO_OCI,没有我可以用apt-get安装的默认包。 有很多教程展示了如何做到这一点,但是当我遵循它们时,我遇到了与编译相关的问题(configure,make,...) 我在这做了什么: 我按照本教程安装了即时客户端 安装oci8 我收
1回复

连接到oracle:使用PDO可以,但是不能使用oci_connect

工作代码 无法正常 工作的代码 (错误调用未定义函数oci_connect(),oci_new_connect()) phpinfo是phpinfo的详细信息,我已将instantclient放置在c中的11g并设置PATH变量 逐一尝试了每个即时客户端扩展- 扩展名= php