2013-06-20 2 views
0

이것은으로, preg_match_all에서 내 현재 출력 나오는PHP 배열 뒤로

Array 
(
[0] => Array 
    (
     [0] => 2 Sentence text here 
    ) 

) 

Array 
(
[0] => Array 
    (
     [0] => 3 Sentence text here. 
     [1] => 4 Sentence text here. 
     [2] => 5 Sentence text here. 
    ) 

) 

나는 테이블에 새 행으로 각 출력을 삽입하기 위해 노력하고있어하지만 생각을 각 [0] [1] [ 2]는 새로운 컬럼입니다. 배열을 mysql에 어떻게 삽입합니까?

$query = "INSERT INTO table (col1) VALUES "; 
foreach ($matches as $item) { 
$query .= "('".$item[0]."'),"; 
} 
$query = rtrim($query,","); 
$result = mysql_query($query); 

위는 분명히에만 배열

+1

mysql_query에 전달하기 전에'$ query' 콘텐츠의 모습을 보여줄 수 있습니까? –

+0

$ matches는 무엇을 포함합니까? – Aris

+1

이렇게 많은 것들이 잘못되었는데, 나는 어디서부터 시작해야할지조차 모릅니다. – crush

답변

1

음의 첫 번째 행을 삽입, 당신은 ...

$query = "INSERT INTO table (col1) VALUES "; 

if(!empty($matches)) 
{ 
    foreach ($matches as $item) { 
     foreach ($item[0] as $items) { 
      $query .= "('".$items."'),"; 
     } 
    } 
} 

편집을 다른 배열의 배열을, 그래서 :

if(!empty($matches)) 
{ 
    foreach ($matches[0] as $item) { 
     $query .= "('".$item."'),"; 
    } 
} 

배열이 어떻게 일치하는지에 따라 다릅니다. 이 쿼리를 얻을 수 있습니다


$query = rtrim($query,","); 
$result = mysql_query($query); 

그 방법 :

INSERT INTO table (col1) VALUES ('2 Sentence text here'), ('3 Sentence text here'), ('4 Sentence text here'), ('5 Sentence text here') 

하나의 INSERT 문 하나 열에서 여러 값을 삽입 할 수있는 유효한 방법입니다.

참고 : Please, don't use mysql_* functions in new code. 그들은 더 이상 유지되지 않습니다 and are officially deprecated. red box을 참조하십시오. prepared statements에 대해 자세히 알아보고 PDO 또는 MySQLi - this article을 사용하면 어떤 결정을 내리는 데 도움이됩니다. PDO를 선택하면 here is a good tutorial입니다.

+0

그의 $ matches 배열이 비어 있으면 충돌합니다. –

+0

쉬운 픽스 @DanyCaissy. –

+0

나는 아무 것도 삽입하지 않고 오류도 없다. –