2017-03-17 2 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これは動作するはず$datavalue

答えて

0

からSELECTクエリとDataValueはによって挿入されるとします

$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

関連する問題