Вставьте массив PHP в MySQL с таблицей в качестве переменной или динамической таблицы - PullRequest
0 голосов
/ 27 июня 2018

У меня есть массив php:

$cont_array = Array("613:m-ent:id=one","930:m-lk:id=one;x=180;y=79;which=1","1080:m-lev:id=one;");

Я хочу вставить его в таблицу MySQL с именем таблицы в качестве переменной, например $table_name = "user1".

Кроме того, я хочу разбить каждый элемент массива на первый ":". После выполнения моего php-кода я получаю просто пустую таблицу.

Мне нужна помощь, пожалуйста. Это мой код:

<?php
$connection = mysqli_connect('localhost','root','','prueba');

$cont_array = Array("613:m-ent:id=one","930:m-clk:id=one;x=180;y=79;which=1","1080:m-lev:id=one;");
$table_name = "user1";


$sql_1 = "DROP TABLE IF EXISTS `".$table_name."`;";
$sql_1 .= "CREATE TABLE `".$table_name."` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `usercod` varchar(20) NOT NULL DEFAULT '',
        `pid` varchar(1000) NOT NULL DEFAULT '',
        `name` varchar(1000) NOT NULL DEFAULT '',
        `time` varchar(1000) NOT NULL DEFAULT '',
        `all_act` varchar(1000) NOT NULL DEFAULT '',
        PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;";

mysqli_multi_query($connection,$sql_1);


foreach ($cont_array as $row){
    $break_e = explode(':', $row, 2);
    $sql="INSERT INTO`".$table_name."` (usercode,pid,name,time,all_act) VALUES ("user","pid_value","user_name",'$break_e [0]','$break_e [1]');";
    mysqli_query($connection,$sql);
}
?>

Вот что я получаю: This is what I get:

Вот что я хотел бы получить: This is what I would like to get:

1 Ответ

0 голосов
/ 27 июня 2018

Ваш SQL, кажется, имеет проверку ошибок ниже оператора SQL.

$sql = "INSERT INTO $table_name (usercod,pid,name,time,all_act) VALUES  ('user','pid_value','user_name','".$break_e [0]."','".$break_e [1]."')";
...