Çeşitli etkenlere bağlı olarak bir SQL ekleme veya güncelleme komut dosyası oluşturan bir komut dosyası var. Aşağıda bu üretiyor komut dosyası dize değeridir: Tek bir php mysqli_query işleviyle birden çok sorgu çalıştırılıyor
INSERT INTO AAB_EVENT_SHIFTS (EVENT_ID ,SHIFT ,START_TIME ,END_TIME
,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE) VALUES (6 ,1
,STR_TO_DATE('04/01/2016 10:00 am', '%m/%d/%Y %I:%i %p')
,STR_TO_DATE('04/01/2016 11:00 am', '%m/%d/%Y %I:%i %p') ,14 ,now() ,14 ,now()
); INSERT INTO AAB_EVENT_SHIFTS (EVENT_ID ,SHIFT ,START_TIME ,END_TIME ,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE) VALUES (6 ,2 ,STR_TO_DATE('04/01/2016 11:00 am', '%m/%d/%Y %I:%i %p') ,STR_TO_DATE('04/01/2016 12:00 pm', '%m/%d/%Y %I:%i %p') ,14 ,now() ,14 ,now());
INSERT INTO AAB_EVENT_SHIFTS (EVENT_ID ,SHIFT ,START_TIME ,END_TIME ,CREATE_USER ,CREATE_DATE ,MODIFY_USER ,MODIFY_DATE) VALUES (6 ,3
,STR_TO_DATE('04/01/2016 12:00 pm', '%m/%d/%Y %I:%i %p')
,STR_TO_DATE('04/01/2016 1:00 pm', '%m/%d/%Y %I:%i %p') ,14 ,now() ,14 ,now());
Ben veritabanına bağlı bir sql editörü mükemmel iyi çalışır ve beklenen tüm satırları eklediğini çalıştırırsanız
. Ancak thusly bu sorguyu çağrılırken:$result = mysqli_query($link,$query);
echo mysqli_error($link);
döner bu: Ben sorgu sorguları bir dizi oluşturma ve bunları çalıştıran birden çok sorguları birleştirilmiş dize oluşturmasını üretir şeklini değiştiren
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT INTO AAB_EVENT_SHIFTS (EVENT_ID ,SHIFT ,' at line 24
for($i=1;$i<=$event->total_shifts($event_id);$i++) {
// echo $event->shift_exists($event_id,$i).'-'.$i.'::<P>';
if($event->shift_exists($event_id,$i)) {
$query[$i] =
'UPDATE AAB_EVENT_SHIFTS '
. 'SET START_TIME = STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['start_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\')'
. ', END_TIME = STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['end_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\')'
. ',MODIFY_USER = '. get_session_user_id(session_id())
. ',MODIFY_DATE = now()'
. ' WHERE EVENT_ID = '.$event_id.' AND SHIFT = '.$i.'; ';
} else { $query[$i] =
'
INSERT INTO AAB_EVENT_SHIFTS
(
EVENT_ID
,SHIFT
,START_TIME
,END_TIME
,CREATE_USER
,CREATE_DATE
,MODIFY_USER
,MODIFY_DATE
)
VALUES
(
'.$event_id.'
,'.$i.'
,STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['start_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\')
,STR_TO_DATE(\''.$event->event_date($event_id).' '.$_POST['end_shift-'.$i].'\', '.'\'%m/%d/%Y %I:%i %p\')
,'. get_session_user_id(session_id()) .'
,now()
,'. get_session_user_id(session_id()) .'
,now()
);
';
}
}
$i = 1;
while($query[$i]) {
echo '<P>'.$query[$i];
$result = mysqli_query($link, $query[$i]);
$i++;
echo '<P>'.mysqli_error($link);
}
Eğer '$ query' değişken oluşturmak nasıl göster !! – Saty
$ Sorgunuzu ekleyin veya sorguyu yazdırın ve mysql ile çalıştırın. –