我的作品是插入記錄在MySQL數據庫中mysql的PHP插入多行
if (isset($_POST['horaseguinte'])){
$horaseguinte = $_POST['horaseguinte'];
$sql="INSERT INTO reservas (cod, data, hora, user, reservas, pc, colunas, outros, sala) VALUES (NULL, '$mydate', '$hora1', '$userid', '$proj', '$pc', '$col', '$outros', '$sala'),(NULL, '$mydate', '$horaseguinte', '$userid', '$proj', '$pc', '$col', '$outros', '$sala')";
}else{
$horaseguinte="";
$sql="INSERT INTO reservas (cod, data, hora, user, reservas, pc, colunas, outros, sala) VALUES (NULL, '$mydate', '$hora1', '$userid', '$proj', '$pc', '$col', '$outros', '$sala')";
}
if (!mysqli_query($con,$sql))
{
$erro = true;
$erromessage = "Error: " . mysqli_error($con);
}
$id = mysqli_insert_id($con);
mysqli_close($con);
}
然而現在,在$指明MyDate變量可以有進來的數組數值的代碼。例如:Array([0] => 2017-09-20 [1] => 2017-09-27 [2] => 2017-10-04 [3] => 2017-10-11) 因此,考慮到數組存儲在$一個,我改變了代碼如下:
if (isset($_POST['horaseguinte'])){
$horaseguinte = $_POST['horaseguinte'];
for($i = 0; $i < count($a); $i++) {
$sql.="INSERT INTO reservas (cod, data, hora, user, reservas, pc, colunas, outros, sala) VALUES (NULL, '$a[$i]', '$hora1', '$userid', '$proj', '$pc', '$col', '$outros', '$sala'),(NULL, '$a[$i]', '$horaseguinte', '$userid', '$proj', '$pc', '$col', '$outros', '$sala')";
}
}else{
$horaseguinte="";
for($i = 0; $i < count($a); $i++) {
$sql. = "INSERT INTO reservas (cod, data, hora, user, reservas, pc, colunas, outros, sala) VALUES (NULL, '$a[$i]', '$hora1', '$userid', '$proj', '$pc', '$col', '$outros', '$sala')";
}
}
if (!mysqli_multi_query($con,$sql))
{
$erro = true;
$erromessage = "Error: " . mysqli_error($con);
}
$id = mysqli_insert_id($con);
mysqli_close($con);
}
但如果返回以下錯誤:
Catchable fatal error: Object of class mysqli_result could not be converted to string in /home/louros/public_html/material/add_reserva_savemef.php on line 115
如果有人可以幫助我將不勝感激!
提及代碼中的'115行' –
您的代碼也容易受到SQL注入的影響,請使用準備好的語句來避免它。 –
請注意,'mysqli_multi_query'的返回值只是第一個查詢的成功。您需要使用循環才能獲得每個查詢的成功。我強烈建議不要使用多重查詢,這會讓事情變得更加複雜。 – Barmar