У меня есть три массива, и я хочу записать их в базу данных. Проблема, с которой я сталкиваюсь, - это когда значения записываются в конкретный столбец, остальная часть столбца остается пустой. Запись в базу данных с использованием foreach
$name_array = array(3) { [0]"Name1" [1]=>"Name2" [2]=> "Name3" }
$roll_array = array(3) { [0]=>"1" [1]=>"2" [2]=>"3" }
$att_array = array(3) { [0]=>"Present" [1]=>"Present" [2]=>"absent" }
У меня есть три столбца в БД «NAME» «ROLL» «УЧАСТВОВАВШИЕ» Я хочу, чтобы хранить все данные массива в базу данных одновременно. поэтому он должен выглядеть следующим образом
NAME ROLL ATTENDANCE
Name1 1 present
Name2 2 present
Name3 3 absent
Вот код, я пытался, но это просто добавьте каждое значение столбца и оставляет другой столбец пусты. Таким образом, первые три строки имеют только ROLLNO, а следующие три строки имеют только NAME, а последние три строки имеют только УЧАСТИЕ.
$name_values = array();
$roll_values = array();
$att_values = array();
foreach ($name_array as $key => $name_values) {
$name_values = mysqli_real_escape_string($connection,$name_values);
$sql= "INSERT INTO `aclass12` (Name) VALUES ('$name_values')";
mysqli_query($connection,$sql);
}
foreach ($roll_array as $key => $roll_values) {
$roll_values = mysqli_real_escape_string($connection,$roll_values);
$sql= "INSERT INTO `aclass12` (RollNo) VALUES ('$roll_values')";
}
foreach ($att_array as $key => $att_values) {
$att_values = mysqli_real_escape_string($connection,$att_values);
$sql= "INSERT INTO `aclass12` (attendance) VALUES ('$att_values')";
}
Я знаю, что это неправильный способ сделать. и как это сделать?
Перестройте свои массивы так, чтобы каждый foreach представлял собой одну строку данных (имя, рулон, посещаемость), а затем вставлял все три значения в один запрос. – JimL