2017-04-11 11 views
0

mysqlの文字列に入れたいのですが、挿入する前に文字列を配列に分解しなければならないことを理解しています。mysqlにPHPの文字列を挿入します。

文字列を挿入するためにPHPオブジェクト指向のコードを書くにはどうすればよいですか?

ID   Product 
---   ------- 
Apple  Pie 
Apple  Candy 

これは私が私のコードでは、これまでに書かれたものです:

$id = "Apple" and $product = "Pie, Candy" 

これは私が見えるようにデータベースをしたいと思い何をされています

は、私は2つの変数を持っています

$id = "Apple"; 
$product = "Pie, Candy"; 
$product_arr = explode(", ",$product); 

if (is_array($product_arr)) { 
    $sql = "INSERT INTO table1 (id, product) VALUES "; 
    $value_arr = array(); 

    foreach($product_arr as $row) { 
     $prdct = mysql_real_escape_string($row[0]); 
     $value_arr[] = "('$id','$prdct')"; 
    } 
    mysqli_query($conn,$sql); 
} 
+1

[MySQLのINSERT文の内側にPHP変数を含める方法]の可能な重複(http://stackoverflow.com/questions/7537377/how-to-include-a-php-variable-inside -a-mysql-insert-statement) –

+0

注意してください。 **異なるAPI、特にゴミではなく古いmysql_queryをミックスしないでください。 mysql_real_escape_string'はPHP 7から削除されました。 – tadman

+0

**警告**:mysqliを使用する場合は、[パラメータ化されたクエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements .php)と['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)を使ってクエリにユーザーデータを追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成するため、マニュアルエスケープと文字列補間または連結を使用しないでください。誤ってエスケープされていないデータは重大なリスクです。 – tadman

答えて

0

これを試すことができます

$id = "Apple"; 
$product = "Pie, Candy"; 
$product_arr = explode(", ",$product); 
$len = count($product_arr); 

for($i=0;$i< $len;$i++){ 
    $product = $product_arr[$i]; 
    $abc = "INSERT INTO table1 (id, product) VALUES "."('$id','$product')"; 
    if ($con->query($abc) === TRUE) { 
    } 
    else 
    { 
     //echo "Error: " . $abc . "<br>" . $con->error; 
    } 
} 

Output

関連する問題