私は、$ MyDateに該当する変数が配列で来て、いくつかの値を持つことができ、しかし、今の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);
}
にレコードを挿入し、その動作するコードを持っています。例:Array([0] => 2017-09-20 [1] => 2017-09-27 [2] => 2017-10-04 [3] => 2017-10-11) 誰かが私には理解されることができた場合
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
:
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);
}
しかし、戻りの場合、次のエラー:配列が、私はこれにコードを変更し、$ aに保存されています!
あなたのコードに 'line 115'と書かれています –
あなたのコードはSQLインジェクションにも脆弱です。 –
'mysqli_multi_query'の戻り値は最初のクエリの成功だけです。すべてのクエリの成功を得るには、ループを使用する必要があります。私はマルチクエリを使用することを強くお勧めします。 – Barmar