在oci_parse中傳遞PHP變數給SQL查詢
P粉107772015
P粉107772015 2023-11-04 12:38:22
0
1
601

我正在將 PHP 變數傳遞到 Oracle SQL 查詢。但它沒有正確地對待它,給了我 ORA 錯誤,例如 - 無效字元。我嘗試將變數轉義為“$sid”,這會使錯誤消失,但查詢不會傳回任何內容。 有沒有辦法將 PHP 變數傳遞給 oracle 查詢

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

為了簡潔起見,我刪除了資料庫連線部分。

P粉107772015
P粉107772015

全部回覆 (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);
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!