解決策はシンプルなようですが、私はそれを回避するのが難しいと感じています。テーブルでは、サンプルデータは、次のようにされていますPostgres - テーブルからエスケープされたデータを取得する方法
id | name | created_time
-------+----------------------------------+----------------------------
41477 | women''s hostels | 2016-03-24 13:52:52.855116
41476 | women''s hostels | 2016-03-24 13:52:49.895482
41475 | women''s hostels | 2016-03-24 13:52:49.735788
41471 | men''s hostel | 2016-03-24 13:52:42.907983
41469 | women''s clothing shops | 2016-03-24 13:52:30.666364
私はPHPのPDOを使用してこのデータを挿入した単一引用符が適切にエスケープされているように、文を作成しました。
今、私は生のSQLクエリを使用して、両方の方法で、そしてPDOを介してこれを達成したい名前を正確に
女性のホステル
に一致するレコードをフェッチします。私は両方のケースについては、以下しようとしますが、結果を取得していない午前:
生SQL:
SELECT id FROM <TABLE> where name = 'women''s hostels';
SELECT id FROM <TABLE> where name ilike 'women''s hostels';
SELECT id FROM <TABLE> where name::text = 'women''s hostels';
PDO:
$data = "women''s hostels";
$sql = "SELECT id FROM <TABLE> where name=?"; (tried all variations as above)
$stmt->execute(array($data));
$rows = $stmt->fetchAll();
名フィールドは、以下のような表で定義されています
Column | Type |
name | character varying(255) |
助けてください。他に何かが必要な場合は教えてください。どんな助けもありがとう。
ありがとう@あなたの常識!私は自分がしていた間違ったことを理解した。 – vsingh