2014-07-20 3 views
0

여러 배열과 MySQL의 UPDATE를 수행하는 방법 나는 내가 삽입을 할 때 내가 먼저 열은 다음 값 목록에 각 배열을 넣어 목록내가 큰 데이터 목록을

를 업데이트하려고

이러한 각 항목에 대해 다음

$sql_query = "INSERT INTO customer (last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points) VALUES("; 

$sql_query .= implode("),(", $rows); 
       $sql_query .= ")"; 

나는 fo를 같은 모델을하고 싶습니다 R 엔드

$sql_query .= implode("),(", $rows); 
       $sql_query .= ")"; 

각 항목에 대한 다음

$sql_query = "UPDATE customer SET (last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points) VALUES("; 

할 수있는 방법이 데이터를 갱신하지만, 모든 실시 예는 일반적으로 열 = 데이터 열 = 데이터

있다

$sql_query .= "WHERE column=condition"; 
+0

내파 ("), ("$ 행); 유효한 진술을 준비하지 못할 것입니다. –

답변

0

보다 적절한 해결 방법은 배열에 필드 이름을 저장 한 다음 처리하는 것입니다.

예 :

$fieldString = 'last_name, first_name, street_num, street_name, city, state, zip, phone,UUID,manager_UUID,points'; 
$fieldList = explode(',',$fieldString); 

//considering you have values stored in $rows array. 

// Exit if $fieldlist does NOT match $rows 
if (count($fieldList) != count($rows)){ 
    die; //or handle exception 
} 


// INSERT statement: 

$sql_query = 'INSERT INTO customer ('.implode(',',$fieldList).)' VALUES ('.implode(',',$rows).') LIMIT 1'; 

// UPDATE statement: 
$parameters = array(); 
for($offset=0;$offset<count($fieldList);$offset++){ 
    $parameters[] = $fieldList[$offset].' = '.$rows[$offset]; 
} 

$sql_query = 'UPDATE customer SET '.implode(',',$parameters).' WHERE column=condition LIMIT 1'; 
관련 문제