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

我正在將 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學習者快速成長!