0

这段代码有什么问题。为什么不将数组中的字符数据导入到 sql 表中。我的 excel 表包含我必须导入的字符和整数的混合。我将excel表中的每个字符替换为某个整数值并检查,然后我发现它工作正常,但如果它包含字符(字母),那么它就不起作用。在表中,列数据类型也很好,因为它们是 Varchar。

我不知道为什么它不能导入字符。如果有人有任何线索或解决方案,请回复。

请参阅此处的 Pastebin:http: //pastebin.com/q2KcUZBJ

<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("sample.xls");
$con = mysql_connect("localhost","root","root");
mysql_select_db("databaseName", $con);
$a=array("1"=>($data->val(1,'A')),"2"=>($data->val(1,'B')),"3"=>($data->val(1,'C')),"4"=> ($data->val(1,'D')),"5"=>($data->val(1,'E')),"6"=>($data->val(1,'F')),"7"=>($data->val(1,'G')));

$import="INSERT INTO tablename (col1, col2, col3, col4, col5, col6,col7) VALUES ($a[1],$a[2],$a[3],$a[4],$a[5],$a[6],$a[7])";
mysql_query($import) or die("mysql_error()");
?>
4

2 回答 2

1

因为必须在 SQL 插入语句中引用字符(字符串)值。

更新到可以使用准备好的语句的 MySQLi 或 PDO 将解决此问题,并消除对已弃用 MySQL 接口的依赖

于 2012-07-17T07:49:17.423 回答
0

检查数据库排序规则是否为 UTF-8。

于 2012-07-18T04:12:45.583 回答