我有以下代碼PHP語法:PostgreSQL的大小寫混合的表名
<?php
require "institution.php"
/* in this portion, query for database connection is executed, and */
$institution= $_POST['institutionname'];
$sCampID = 'SELECT ins_id FROM institution where ins_name= '$institution' ';
$qcampID = pg_query($sCampID) or die("Error in query: $query." . pg_last_error($connection));
/* this portion outputs the ins_id */
?>
我的數據庫之前,沒有大小寫混合的表名,這就是爲什麼當我運行此查詢,它顯示沒有錯誤可言。但是,因爲我已經改變了我的數據庫因爲某些原因,它現在包含大小寫混合的表名,我要改變上面的代碼變成這樣:
$sCampID = 'SELECT ins_id FROM "Institution" where ins_name= '$institution' ';
如該機構必須被雙引號括起來。該查詢返回解析錯誤。 當我刪除這部分:其中ins_name ='$院校',沒有發生錯誤。
我的問題是我該如何解決這個問題,其中包含混合大小寫字母和值存儲在一個變量(在這種情況下,$機構)表名稱將在一個select語句進行組合?
您的回答和建議將非常感謝。
我建議您先閱讀http://php.net/manual/en/security.database.sql-injection.php - 它也可能解決您的問題。 – Artefacto 2010-05-13 06:23:45
好的,非常感謝你。我明白了。 – yam 2010-05-15 07:12:52