PostgreSQLでこの問題が発生し、Webページのメタタグを解析してから、要求をpg_queryに入力しています。この例では簡潔にするために、データはサニタイズされていません。
だからこのようなもの:
foreach ($metas as $meta) {
$property = $meta->getAttribute('property');
$content = $meta->getAttribute('content');
$query = "UPDATE " . $tablename . " SET article_meta = article_meta || '$property=>$content'::hstore where article_id = '{$this -> article_id}' ;";
pg_query($conn, $query);
}
問題は、クエリが実行されず、失敗したり、エラーがスローされたりしないことです。しかし、実行されたクエリをコピーしてpgadminのようなもので実行すると、機能します。したがって、クエリは無効ではありません。なぜこれが起こっているのかについてのアイデアはありますか?
この動作は、全文検索tsvectorを更新するトリガーを追加したときに開始された可能性があることを言及する必要がありますが、これがどのように関連しているかわかりません。
アップデート
また、後でruであるが、メタタグの解析のみを実行し、クエリが機能する同期関数があることを追加したいと思います。したがって、どこかでクエリの実行がブロックされています。