2016-03-29 19 views
0

Ich versuche, mehrere Werte in meine Datenbank einzufügen. Aber ich konnte die Lösung nicht finden, um zu tun, was ich will.Einfügen mehrerer Werte in der Datenbank mit PHP

Mein Problem hier ist, dass ich ein Array von Werten wie ("6.40","6.50","7.00","7.10","7.20","7.30") haben und ich möchte diese Werte in jeder Zeile wie 6,40 einfügen wird in einer Zeile gespeichert werden von id „1“ entspricht.

Ähnlich "6.50" wird in ID von "2" gespeichert. Die ID wird automatisch erhöht.

Ähnlich werden Werte in die Datenbank eingefügt, bis das Array leer ist. Wenn jemand irgendwelche Ideen hat, wie Sie dieses Problem lösen können, bitte helfen Sie mir! Bitte beweise meine Zweifel. Ich bin neu in PHP. Danke im Voraus.

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

Schreiben Sie die Abfrage, die Sie zum Einfügen verwenden. –

+1

tun Sie eine foreach .... –

+0

foreach oder for-Schleife für mehrere einfügen verwenden. – RJParikh

Antwort

0

Versuchen Sie folgendes:

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

Wenn ich $ slot_timings1 [$ i] erklären, zeigt es Fehler. –

+0

Syntaxfehler, unerwartet '=', erwartet ')' ist der Fehler, nachdem ich diese –

+0

@Insomania-Lösung verwendet bekommen habe. Es ist besser mit foreach. Ich habe jetzt Probleme mit dem Debuggen. – Thejas

2

so etwas wie dies versuchen.

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

versuchen, dieses:

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

Nach der Verwendung dieser Fehlermeldung wird angezeigt, dass die Anzahl der gebundenen Variablen nicht der Anzahl der Tokens entspricht. Ich weiß nicht Whts d Problem –

+0

können Sie uns die Ausgabe für print_r ($ slot_timings1) zeigen; ? –

+0

Array ( [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

Syntaxfehler, unerwartete '$ valuesArr' (T_VARIABLE) .. andere und alles in Ordnung, aber im Falle von valuesArr [] zeigt es Fehler –

+0

ooooww es war mein mistak .plz Code jetzt ausführen – channasmcs

+0

Ya ich finde den Fehler. Sie sollten nur ein Semikolon erwähnen, aber das Problem ist, PHP PHP zu verwenden ... ist der Code, den Sie in mysqli angegeben haben –

Verwandte Themen