我在PHP中使用PDO類來運行PostgreSQL查詢。PHP中的單引號Postgres PDO
$conn = new PDO("pgsql:host=$dbhost;port=$dbport;dbname=$dbname;user=$dbuser;password=$dbpass");
$query = 'SELECT "ID", "Description" FROM "MyTable"';
$result = $conn->query($query);
假設的東西在查詢需要在單引號像
$query = 'SELECT "ID", "Description" FROM "MyTable" WHERE "Description" = 'A107'';
這是行不通的事情是這樣的。但是,如果我執行以下操作,它將起作用。
$query = 'SELECT "ID", "Description" FROM "MyTable" WHERE "Description" = ' . $conn->quote('A107', PDO::PARAM_STR);
我知道在PDO的準備和執行過程中有更好的方法。這段代碼基本上是一個模板的一部分,我的一位同事(編程經驗有限)希望將PostgreSQL查詢粘貼到該模板中。
因此,我正在尋找在這種情況下處理單引號的最簡單方法。這些查詢可能比我給出的例子更復雜,我不希望他們不得不亂用太多的模板。沿着轉義線的東西會很好,但還沒有找到像這樣的工作。我意識到,他們的一些修改將是必要的,但希望儘量減少這一點。
你可以逃避單引號 - 使用'\'' –