Übergabe von PHP-Variablen an die SQL-Abfrage in oci_parse
P粉107772015
P粉107772015 2023-11-04 12:38:22
0
1
568

Ich übergebe PHP-Variablen an eine Oracle SQL-Abfrage. Aber es behandelt es nicht richtig und gibt mir ORA-Fehler wie „ungültiges Zeichen“. Ich habe versucht, die Variable in „$sid“ zu maskieren, wodurch der Fehler verschwindet, aber die Abfrage gibt nichts zurück. Gibt es eine Möglichkeit, PHP-Variablen an Oracle Query zu übergeben?

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

Der Kürze halber habe ich den Datenbankverbindungsteil entfernt.

P粉107772015
P粉107772015

Antworte allen (1)
P粉262926195

'SELECT emp from table emp=\'$sid\''是一个字符串,您完全按照原样传递给 Oracle,这就是它不起作用的原因。

您需要使用oci_bind_by_name将占位符绑定到 PHP 变量。

示例:

$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);
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!