2017-03-17 57 views
0

我正在使用PHP Oracle。是否可以插入来自SELECT查询和变量的数据?PHP从SELECT查询和变量插入数据

$dataValue = "U0001"; 

$qInsert = oci_parse($c1, " 
    INSERT INTO TBLDATA(DATAID, DATAVALUE) 
    SELECT DATAID_FK FROM TBLACCESSDATA 
"); 
oci_execute($qInsert); 

所以我想DATAID将SELECT查询和DATAVALUE从$datavalue

回答

0

被插入这应该工作:

$qInsert = oci_parse($c1, " 
    INSERT INTO TBLDATA(DATAID, DATAVALUE) 
    SELECT DATAID_FK,$datavalue FROM TBLACCESSDATA 
"); 

一个更好的办法是使用准备好的语句:

$qInsert = oci_parse($c1, " 
    INSERT INTO TBLDATA(DATAID, DATAVALUE) 
    SELECT DATAID_FK,:datavalue FROM TBLACCESSDATA 
"); 
oci_bind_by_name($qInsert, ':datavalue', $datavalue, -1); 

这比较好,因为它可以防止SQL注入。

+0

工作完美。谢谢Jens –

+0

@Downvoter:请解释一下 – Jens