2011-07-08 48 views
1

我想用數組元素更新Postgres數據庫表,但我不知道如何。使用數組元素更新Postgres表

我試過,但我得到這個通知:注意:未定義指數:上線的「文件」「值」 X

更新:

private function debug ($function_name, $arg_names, $arg_vals (<=with func_get_args()) ) 
{ 
    $arg_names_array = explode(',', $arg_names); 
    foreach($arg_names_array as $k => $v) 
    { 
     $v = trim($v); 
     $v = pg_escape_string($v); 
     $vars[$k] = $arg_vals[$v]; 
    } 
    $this->return_ = $vars; 
    return $this->return_; 
} 
pg_query($connect, "UPDATE tabe SET row = {$vars[$first]} WHERE code = {$vars[$code]} "); 
pg_query($connect, "UPDATE tabe SET row = '{$vars[$first]}' WHERE code = '{$vars[$code]}' "); 

回答

0

我需要更多的上下文信息是能夠幫助你。我知道你想更新一個包含一組值的字段。請記住,在postgresql中,數組語法是{value1,value2,...,valueN},如果它是一個字符串,那麼值將被包含在撇號中。

那麼$ vars [$ first]包含什麼?如果它是一個php數組,你必須首先將它轉換爲適用於sql命令的情況下的字符串。

+0

對不起,真正的問題是這樣的:$ var [] = $ this-> return_。所以,正確的方法是$ var = $ this-> return_。 – Smith

+0

正確的查詢:「UPDATE tabe SET row ='{$ vars ['$ first']}'WHERE code ='{$ vars ['$ code']}'」; – Smith