我在PostgreSQL中有這個問題,我在解析一個網頁元標記,然後輸入請求到pg_query。爲了簡潔起見,本例中的數據未經過消毒處理。PHP 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時,此行爲可能已經開始,但我不明白這是如何相關的。
更新
另外我想補充一點,我有一個同步功能是儒,但後來只執行了元標記的分析和查詢工作。所以有些地方阻止了查詢的執行。
你確定嗎?我沒有看到你的代碼中的任何調試?使用'echo pg_last_error($ dbconn);'並再次檢查... – 2013-03-07 11:45:26
這是一個摘錄,有調試,因爲每當查詢失敗,它都會提醒我。 – 2013-03-07 11:54:43
_但是如果我複製查詢..._只是爲了確定。你從哪裏複製了查詢?你'回聲$查詢'? – 2013-03-07 11:57:20