2016-03-29 2 views
0

Я пытаюсь вставить несколько значений в мою базу данных. Но я не мог найти Решение, чтобы делать то, что хочу.Вставить несколько значений в базу данных, используя php

Моя проблема в том, что у меня есть массив значений, как ("6.40","6.50","7.00","7.10","7.20","7.30") , и я хочу, чтобы вставить эти значения в каждой строке, как 6.40 будет хранить в одном ряду, соответствующий идентификатор из «1».

Аналогичным образом «6.50» будет хранить идентификатор «2». Идентификатор будет просто автоматически увеличиваться.

Аналогичным образом он будет вставлять значения в базу данных до тех пор, пока не будет пуст. Если у кого-нибудь есть идеи о том, как решить эту проблему, пожалуйста, помогите мне! Пожалуйста, не сомневайся. Я новичок в 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

Post запрос, который вы используете для вставки. –

+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

синтаксическая ошибка, неожиданный '=', expecting ')' - ошибка, полученная после использования этого –

+0

try @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) .. другие и все в порядке, но в случае значенийArr [] отображается ошибка –

+0

ooooww это был мой код ошибки .plz теперь – channasmcs

+0

Я нашел ошибку. u уделено упоминание одной точки с запятой, но проблема в том, что я использую PHP pdo..bt код u, указанный в mysqli –

Смежные вопросы