2013-04-07 160 views
0

我是新來的PHP ..這是我的問題:我有2個爆炸的字符串,我想讓第二個爆炸的字符串是第一個值爆炸的字符串,這是我想插入到我的數據庫中的結果,但我沒有任何插入問題。第二次爆炸的字符串是一個值到第一次爆炸的字符串在php

例如,在下面的代碼中,我希望$ date是到$圖層的值。 $層的第一個字是一個價值$ date的第一個字,第二個字第2個字等..

$layer1=$_POST['layer']; 

$date=$_POST['date']; 

$layer=explode(",",$layer1); 
$date=explode(",",$date); 

foreach ($layer as $layer2=>$date) 
{ 
//my problem is how to make the date a value to my layer? 
$con=mysqli_connect("localhost","xxxx","xxx") or die ('unable to connect server'); 
mysqli_select_db($con, "xxxxxxxx") or die ('cant connect database'); 

$x="INSERT INTO xxxxx (Layer, date) VALUES ('$layer2', '$date') "; 
$result=mysqli_query($con,$x) or die ('cant proceed query'); 


//i want to appear look like this on database: 

LAYER  DATE 
layer1  date1 
layer2  date2 
layer3  date3 


say my data inputted from form is this one: 

$_POST['layer']=layer1,layer2,layer3 
$_POST['date']=date1,date2,date3 
+0

這是什麼意思「我想讓第二個爆炸字符串成爲第一個爆炸字符串的值」? – 2013-04-07 12:36:24

+0

我已經更新了我的問題...我想在我的MySQL表上的東西.. – Noman 2013-04-07 15:26:15

回答

0
$con = mysqli_connect("localhost","xxxx","xxx", "xxxxxxxx"); 

$layer_arr = explode(",",$_POST['layer']); 
$date_arr = explode(",",$_POST['date']); 

foreach ($layer_arr as $key => $layer) 
{ 
    $date = $date_arr[$key]; 
    $date = mysqli_real_escape_string($con, $date); 
    $layer = mysqli_real_escape_string($con, $layer); 

    $sql = "INSERT INTO xxxxx (Layer, date) VALUES ('$layer', '$date') "; 
    $result=mysqli_query($con,$x) or trigger_error(mysqli_error($con)); 
} 

請注意,代替人工格式化你的字符串,你必須使用佔位符在你的查詢中,因此使用PDO而不是mysqli。

+0

非常感謝你。我只是試了一下,它的工作原理。我會採取你的建議來使用PDO .. :) – Noman 2013-04-07 15:59:58