Как дублировать слишком много записей с PHP?

Мне нужно прочитать и обработать (например, добавить «2» в конце идентификаторов + некоторые другие вещи …) и заново вставить не менее 2000 записей из MySQL с PHP.
Это невозможно сделать с помощью SQL-запроса …
Проблема в том, что когда мы нажимаем кнопку «Перейти», она обрабатывает почти 500 записей, но затем мы видим ошибку «Server Internal 500»! но в localhost у нас нет никаких проблем …

Есть ли способ сделать это с этими ограниченными ресурсами на сайтах наших клиентов?

Другой вопрос: что вызывает эту проблему? Какой ресурс должен быть больше? БАРАН? ЦПУ?…?

Вот код:
(Мы должны прочитать все курсы семестра и все выбранные курсы и скопировать их в новый семестр)

foreach ($courseList as $courseInfo)
{
$ccode=$courseInfo['ccode'];
$lid=$courseInfo['lid'];
$pid=$courseInfo['pid'];
$clid=$courseInfo['clid'];
$cgender=$courseInfo['cgender'];
$descriptive_score=$courseInfo['descriptive_score'];
$final_capacity=$courseInfo['final_capacity'];
$days_times=$courseInfo['days_times'];
$exam_date=$courseInfo['exam_date'];
$exam_place=$courseInfo['exam_place'];
$ccourse_start_date=date("Y-m-d H:i:s");
$ccomment=$courseInfo['ccomment'];
$cid=$courseInfo['cid'];
$majors=$course->GetCourseMajorsList($cid);
$scList=$course->GetCourseScoreColumnsList($cid);
$courseScoreColums=array();
foreach ($scList as $scProp)
{
$courseScoreColums[$scProp['scid']]=$scProp['scid'].','.$scProp['cscfactor'];
}
$tid = $term->LastTermID();
$counts = $course->AddCourse($ccode.'2',$tid,$lid,$pid,$clid,$majors,$courseScoreColums,$cgender,$descriptive_score,$final_capacity,$days_times,NULL,$exam_place,$ccourse_start_date,$ccomment,$aid);
if ($counts==1)
{
$new_cid = $course->LastCourseID();
$cs = new ManageCourseStudents();
$query = " WHERE `".$table_prefix."courses`.`cid`=$cid ";
$courseStudentList = $cs->GetCourseStudentList($query,'');
foreach ($courseStudentList as $csInfo)
$cs->AddCourseStudent($csInfo['uid'],$new_cid,$csInfo['lvid'],$aid);
}
}

0

Решение

$str    =   "select * from  tableName";  //replacing * by table columns is a good practice

$result =    $conn->query($str);

while($arr = $result->fetch_array(MYSQLI_ASSOC);)
{
$strr1  = "  INSERT INTO  tableName (  `id` , `title` , `des` ) //add more
VALUES (  '".$arr['id']."2',  '".$arr['something']."'   //add as you require
";

if($conn->query($strr1) === false) {
trigger_error('Wrong SQL: ' . $sql . ' Error: ' . $conn->error, E_USER_ERROR);
}
}

это может дублировать все данные в вашей базе данных

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector