2016-03-29 41 views
0

我想在我的數據庫中插入多個值。但是我找不到解決方案來做我想做的事。在數據庫中插入多個值使用php

我在這裏的問題是,我有值的像 ("6.40","6.50","7.00","7.10","7.20","7.30") 一個陣列,我想每行中插入這些值,像6.40將一行存儲相應的ID「1」。

類似地, 「6.50」,將在 「2」 的ID存儲。該ID將只是自動遞增。

類似地,它將插入數據庫中的值,直到數組爲空。如果任何人有任何想法如何解決這個問題,請幫助我!請承擔我的疑慮。我是PHP新手。提前致謝。

for ($i=0;$i < count($slot_timings1); $i++) 
{ 
    $q = $this->link->prepare('INSERT INTO doctor_appointment (doctor_name,doctor_id,appointment_date,slot_name,slot_timings) VALUES (:doctor_name,:doctor_id,:appointment_date,:slot_name,slot_timings)'); 
    $q->execute(array(':doctor_name'=>$doctor_name,':doctor_id'=>$doctor_id, ':appointment_date'=>$appointment_date,':slot_name'=>$slot_name,':slot_timings'=‌​>$slot_timings)); 
} 
$counts = $q->rowCount(); 
return $counts; 
+0

後您使用插入查詢。 –

+1

做一個foreach .... –

+0

使用foreach或循環進行多次插入。的 – RJParikh

回答

0

試試這個:

for ($i=0;$i < count($slot_timings1); $i++) 
{ 
$q = $this->link->prepare('INSERT INTO doctor_appointment (doctor_name,doctor_id,appointment_date,slot_name,slot_timings) VALUES (:doctor_name,:doctor_id,:appointment_date,:slot_name,slot_timings)'); 
$q->execute(array(':doctor_name'=>$doctor_name,':doctor_id'=>$doctor_id, ':appointment_date'=>$appointment_date,':slot_name'=>$slot_name,':slot_timings'=‌​>$slot_timings1[$i])); 
} 
$counts = $q->rowCount(); 
return $counts; 
+0

如果我聲明$ slot_timings1 [$ i]它顯示錯誤。 –

+0

語法錯誤,意外'=',期待')'是錯誤即時通訊使用此 –

+0

嘗試@Insomania解決方案。它更好使用foreach。我現在在調試時遇到了一些麻煩。 – Thejas

2

嘗試這樣的事情。

foreach($slot_timings1 as $data) 
    { 
     $q = $this->link->prepare('INSERT INTO doctor_appointment (doctor_name,doctor_id,appointment_date,slot_name,slot_timings) VALUES (:doctor_name,:doctor_id,:appointment_date,:slot_name,slot_timings)'); 
     $q->execute(array(':doctor_name'=>$doctor_name,':doctor_id'=>$doctor_id, ':appointment_date'=>$appointment_date,':slot_name'=>$slot_name,':slot_timings'=‌​>$data)); 
    } 
1

試試這個:

if(is_array($slot_timings1) && !empty($slot_timings1)) 
{ 
foreach ($slot_timings1 as $slot_timing) 
{ 
$q = $this->link->prepare('INSERT INTO doctor_appointment (doctor_name,doctor_id,appointment_date,slot_name,slot_timings) VALUES (:doctor_name,:doctor_id,:appointment_date,:slot_name,:slot_timings)'); 

$q->execute(array(':doctor_name'=>$doctor_name,':doctor_id'=>$doctor_id, ':appointment_date'=>$appointment_date,':slot_name'=>$slot_name,':slot_timings'=>$slot_timing)); 
} 

return count($slot_timings1);  
} 
+0

使用後它顯示「綁定變量數量與令牌數量不匹配」錯誤。我不知道是否有問題 –

+0

你能告訴我們print_r($ slot_timings1)的輸出嗎? ? –

+0

陣列 ( [0] => 6.10 [1] => 6.30 [2] => 6.40 ) –

1
if(is_array($slot_timings1)){ 


sort($slot_timings1); //Sort the elements of the array in ascending 

$sql = "INSERT INTO doctor_appointment (doctor_name,doctor_id,appointment_date,slot_name,slot_timings) VALUES "; 

$query_val = array(); 
foreach($slot_timings1 as $gettime){ 

    $row1 = $doctor_name; 
    $row2 = $doctor_id; 
    $row3 = $appointment_date; 
    $row4 = $slot_name; 
    $row5 = $gettime; 
    $query_val[] = "('$row1', '$row2', '$row3', '$row4', '$row5')"; 
} 

$sql .= implode(',', $query_val); 

mysql_query($sql) or exit(mysql_error()); 
} 
+0

語法錯誤,意外「$ valuesArr」(T_VARIABLE)..等,所有好的,但在valuesArr []它顯示錯誤 –

+0

ooooww這是我mistak .plz運行代碼的情況下,現在 – channasmcs

+0

雅我發現其中的錯誤。 üForgt提一個分號,但什麼問題是即時通訊使用PHP pdo..bt你在mysqli中指定的代碼 –

相關問題