Неустранимая ошибка: динамическая вставка в таблицу mysqli_num_fields ($ field_result) mysqli_fetch_field - PullRequest
0 голосов
/ 20 ноября 2018

Я сталкиваюсь с этой ошибкой:

"Fatal error: Allowed memory size of 33554432 bytes exhausted..."

в строке while ($meta=mysqli_fetch_field($field_result)) {, когда я пытаюсь отправить форму с помощью $POST (form action="<? echo $_SERVER['PHP_SELF']?>" Кто-нибудь знает некоторые решения для исправления сообщения о фатальной ошибке (отправить форму)?

function insertTable($table_name){
         global $linkS;   
         $query='';
         $field=array();
         $field_result=mysqli_query($linkS,"SELECT * FROM `$table_name`");
         $total_fields=mysqli_num_fields($field_result);
         $query.="INSERT INTO `$table_name` (";
         $i=1;
          while ($meta=mysqli_fetch_field($field_result)) {
                if($total_fields==$i){
                    $query.="`".$meta->name."`)";
                    $field[]=$meta->name;
                  }else{
                    $query.="`".$meta->name."`,";
                    $field[]=$meta->name;
                  }
                $i++;
            }
        $query.="VALUES(";
        $i=1;
        foreach($field as $value)
             {
             global $$value;
                 if($i==1){
                    if(empty($$value)) $query.="'',";
                    else $query.="'".$$value."',";
                  }
                 elseif($total_fields==$i){
                    $query.="'".$$value."')";

                  }else{
                    $query.="'".$$value."',";
                  }
                $i++;
            }
     //echo $query;
   mysqli_query($linkS,$query);
   echo mysqli_error($linkS);
   mysqli_free_result($field_result);
}
...