0

コードを確認してください。次の出力が表示されます。

in wood that 1

in wood that 2 

in wood that 3 

in wood that 4 

以下に示すコードから、これらの4行をMySQLデータベースに保存したいと思います。

$string = "imperfection in wood that 1 can appear during the wood drying process.imperfection in   wood that 2 can appear during the wood drying process.imperfection in wood that 3 can appear during the wood drying process.imperfection in wood that 4 can appear during the wood drying process";
preg_match_all('/(imperfection)(.*?)(can)/', $string, $matches);   

foreach($matches[2] as $value) 
    echo  $value.'<br />'; 

$sql="INSERT INTO string_check(st_name)VALUES($value)";
$result=mysql_query($sql);

よろしくお願いいたします。

4

2 に答える 2

0

一致を繰り返し、それらをエスケープし (念のため)、引用符と括弧で囲みます。次に、それらすべてをコンマで結合し、その文字列を VALUES 式として使用します。

$foreach($matches[2] as $match) {
  $values[] = '("' . mysql_real_escape_string($match) . '")';
}
$value_statement = implode(', ', $values);
$sql="INSERT INTO string_check (st_name) VALUES $value_statement";
于 2012-07-13T00:13:57.077 に答える
0

この 4 行を別の行に格納しますか? その場合は、これを試してください

foreach($matches[2] as $value) {
    $sql="INSERT INTO string_check(st_name)VALUES($value)";
    $result=mysql_query($sql);
}

1行に格納する場合の構文は次のとおりです

$values = '';
foreach($matches[2] as $value) {
    $values .= $value;
}
$sql="INSERT INTO string_check(st_name)VALUES($values)";
$result=mysql_query($sql);
于 2012-07-13T00:27:48.747 に答える