Rumah  >  Soal Jawab  >  teks badan

Melewati pembolehubah PHP kepada pertanyaan SQL dalam oci_parse

Saya menghantar pembolehubah PHP ke dalam pertanyaan Oracle SQL. Tetapi ia tidak merawatnya dengan betul dan memberi saya ralat ORA seperti - watak tidak sah. Saya cuba melepaskan pembolehubah kepada "$sid" yang membuat ralat hilang, tetapi pertanyaan tidak mengembalikan apa-apa. Adakah terdapat cara untuk menghantar pembolehubah PHP kepada pertanyaan oracle

if(isset($_POST['action']))
{
   $sid = $_POST['action'];
   $stid = oci_parse($conn, 'SELECT emp from table emp='$sid'');
   oci_execute($stid);
}

Demi ringkasnya, saya mengeluarkan bahagian sambungan pangkalan data.

P粉107772015P粉107772015320 hari yang lalu671

membalas semua(1)saya akan balas

  • P粉262926195

    P粉2629261952023-11-05 11:26:35

    'SELECT emp from table emp='$sid'' ialah rentetan yang anda hantar ke Oracle dengan tepat, itulah sebabnya ia tidak berfungsi.

    Anda perlu menggunakan oci_bind_by_name untuk mengikat pemegang tempat kepada pembolehubah PHP.

    Contoh:

    $variable = 42;
    $stid = oci_parse($conn, 'SELECT col_name FROM tbl_name WHERE col_name > :num;');
    oci_bind_by_name($stid, ":num", $variable);
    oci_execute($stid);

    balas
    0
  • Batalbalas