2017-04-11 76 views
0

我想将一个字符串转换成mysql并理解,在插入之前,我必须将该字符串分解为一个数组。将一个php字符串插入到mysql中

我该如何编写PHP面向对象的代码来插入字符串?

我有两个变量:

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

这是我想对数据库的样子:

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

这是我在我的代码到目前为止写着:

$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的内部PHP变量insert语句(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

相关问题