2017-04-11 40 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

相關問題