У меня есть этот код (см. Ниже)
$sql = "SELECT * FROM records";
$result = mysqli_query($this->db,$sql);
while($row = mysqli_fetch_assoc($result)){
$itemid = $row['id'];
$itemname = $row['itemname'];
$itemdesc = $row['itemdesc'];
$brand = $row['brand'];
$serialno = $row['serialno'];
$nostock = $row['nostock'];
$price = $row['price'];
$onsale = $row['onsale'];
$poster = $row['poster'];
$thedate = $row['thedate'];
$sql = "INSERT INTO backupp SET id='$itemid', itemname='$itemname', itemdesc='$itemdesc', brand='$brand', serialno='$serialno', nostock='$nostock', price='$price', onsale='$onsale', poster='$poster', thedate='$thedate'";
$result = mysqli_query($this->db,$sql) or die(mysqli_error($this->db));
return $result;
}
Как видно из приведенных выше кодов, он сначала извлечет все данные из таблицы БД с именем «records», а затем поместит каждую строку в соответствующую им переменную и затем вставит сохраненные данные (те данные, которые были извлечены из имени таблицы БД ». записи «и сохраненные там соответствующие переменные) в таблицу БД с именем» backupp «. Теперь проблема в том, что он добавляет только одну запись в резервную копию (запись, которая была извлечена первой), которая предположительно должна добавить все извлеченные записи из таблицы базы данных с именем records в таблицу базы данных с именем backup. Зачем?? Любые предложения, рекомендации, подсказки и идеи будут с благодарностью. Спасибо!
PS: это как экспорт и импорт в другую таблицу с такой же структурой, но у меня есть своя собственная причина, почему я хочу сделать это таким образом и предположить, что я уже успешно подключился к базе данных ($ this-> db), называемой «инвентаризация», и есть там имя таблицы БД, например «records» и «backupp» с одинаковой структурой.
И вы можете легко сделать резервную копию этой таблицы следующим образом: INSERT INTO backupp SELECT * FROM records
У вас есть оператор return внутри цикла while, который вызывает выход после одной итерации.
Удалить return $result;
линия и она должна работать.
измените свой код на это (см. ниже).
$sql = "SELECT * FROM records";
$result = mysqli_query($this->db,$sql);
$x = 0;
while($row = mysqli_fetch_assoc($result)){
$itemid = $row['id'];
$itemname = $row['itemname'];
$itemdesc = $row['itemdesc'];
$brand = $row['brand'];
$serialno = $row['serialno'];
$nostock = $row['nostock'];
$price = $row['price'];
$onsale = $row['onsale'];
$poster = $row['poster'];
$thedate = $row['thedate'];
$sql = "INSERT INTO backupp SET id='$itemid', itemname='$itemname', itemdesc='$itemdesc', brand='$brand', serialno='$serialno', nostock='$nostock', price='$price', onsale='$onsale', poster='$poster', thedate='$thedate'";
$result = mysqli_query($this->db,$sql) or die(mysqli_error($this->db));
$x++;
}