Php 不同表上的数据映射
我正在和symfony3一起做一个数据映射项目。 以下是规格: “通常需要从平面文件(csv)填充数据库:数据库服务中的各种集成工具提供了一个上载空间,但这种访问很少由web用户服务操作。 因此,要求您提供平面文件导入空间、检测列(如果适用)、选择要填充的表字段、建议表的初步删除或完成、验证数据类型以及同步数据映射。” 到目前为止,平面文件导入已正确完成,我很好地恢复了内容,并将其显示在动态表中。 在数据库中插入时出现问题!在我的各种数据映射测试中,我收到了各种错误:Php 不同表上的数据映射,php,symfony,Php,Symfony,我正在和symfony3一起做一个数据映射项目。 以下是规格: “通常需要从平面文件(csv)填充数据库:数据库服务中的各种集成工具提供了一个上载空间,但这种访问很少由web用户服务操作。 因此,要求您提供平面文件导入空间、检测列(如果适用)、选择要填充的表字段、建议表的初步删除或完成、验证数据类型以及同步数据映射。” 到目前为止,平面文件导入已正确完成,我很好地恢复了内容,并将其显示在动态表中。 在数据库中插入时出现问题!在我的各种数据映射测试中,我收到了各种错误: 插入值列表与列列表不匹
- 插入值列表与列列表不匹配:1136列计数与第1行的值计数不匹配
- 一般错误:1364字段“xxxxxx”没有默认值
$choiceMapping = $session->get('choiceMapping'); $tableChoice = $session->get('tableChoice'); $selectChoiceFields = implode(",", $session->get('selectChoiceFields')); $choiceData = $session->get('choiceData'); $config = new Configuration(); $connectionParams = array( 'dbname' => 'xxxxx', 'user' => 'root', 'password' => '', 'host' => '127.0.0.1', 'driver' => 'pdo_mysql', ); $conn = DriverManager::getConnection($connectionParams, $config); $sm = $conn->getSchemaManager(); $tableDetails = $sm->listTableColumns($session->get('tableChoice')); if(sizeof($selectChoiceFields[0]) === 0) { $addFlash = $this->addFlash('danger', 'Choose at least one field !'); return $this->redirectToRoute('mapping'); } $host = '127.0.0.1'; $db = 'xxxx'; $user = 'root'; $pass = ''; $charset = 'utf8'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { $cnx = new PDO($dsn, $user, $pass, $opt); } catch(PDOException $e) { die('Connection failed :'. $e->getMessage()); } if($choiceMapping === "completion") { $content = $cnx->prepare('INSERT INTO '.$session->get('tableChoice').' ('.$selectChoiceFields.') VALUES ('.$choiceData.')'); $content->execute(); $addFlash = $this->addFlash('success', "Data saved successfully !"); } else { $content = $cnx->prepare('Truncate '.$session->get('tableChoice')); $content->execute(); $sql = $cnx->prepare('INSERT INTO '.$session->get('tableChoice').' ('.$selectChoiceFields.') VALUES (:choiceData)'); $sql->bindValue(':choiceData', $choiceData[0]); $sql->execute(); $addFlash = $this->addFlash('success', "Data saved successfully !"); } return $this->render('result.html.twig');