Tôi muốn lưu trữ một sinh viên bằng cách di chuyển bản ghi từ bảng này sang bảng khác. Đây là mã tôi đang cố gắng sử dụng:bản ghi php và mysql từ bảng này sang bảng khác
<?php
ini_set('memory_limit', '100M');
$sql="Select * from `register` where student_id=".$student_id;
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
//Call the function to archive the table
//Function definition is given below
archive_record(archive,$row);
//Once you archive, delete the record from original table
$sql = "Delete from `register` where student_id=".$student_id;
mysql_query($sql);
function archive_record($archived_tablename,$row)
{
$sql = "insert into $archived_tablename values(";
$i=0;
while($i<(count($row)-1))
{
$sql.="'".$row[$i]."',";
}
$i=$i+1;
$sql.="'".$row[$i]."'";
$sql.=")";
mysql_query($sql);
return true;
}
Vấn đề tôi đang gặp là tôi đang nhận được lỗi:
Fatal error: Hết bộ nhớ (phân bổ 80.478.208) (đã cố gắng để phân bổ 80.216.043 byte) trong /archive-student.php trên dòng XX
Có cách nào khác để làm điều này, ngoại trừ có một cột được gọi là lưu trữ và thay đổi từ 0 đến 1? Điều này là do tôi có 30-50 trang chọn các bản ghi của bảng. :)
Bạn có thể sử dụng 'INSERT ... SELECT'. Cấu trúc bảng của bạn là gì? – bfavaretto