使用PHPExcelReader类文件将Excel读取,并保存至PostgreSQL数据库中,数据表已经建立,字段完整,仅设主键
数据库没有问题。类文件没有问题,Excel文件也没有问题。源码附上for($i=2;$i<=$data->sheets[0]['numRows'];$i++){for($...
数据库没有问题。类文件没有问题,Excel文件也没有问题。源码附上
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
for($j=1;$j<20;$j++){
//开始读取excel文件的内容并插入数据库
//$sql = "INSERT INTO CET6 VALUES('".$data->sheets[0]['cells'][$i][$j]."')";
//$zh=pg_query($sql);
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
}
echo 输出正常
但是使用sql语句时出问题
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
for($j=1;$j<20;$j++){
//开始读取excel文件的内容并插入数据库
$sql = "INSERT INTO CET6 VALUES('".$data->sheets[0]['cells'][$i][$j]."')";
$zh=pg_query($sql);
//echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
}
我想知道怎么处理
因为数据库设置了主键所以不能为空,错误提示正好就是这个主键字段,但是这个字段值在Excel中都有呀 展开
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
for($j=1;$j<20;$j++){
//开始读取excel文件的内容并插入数据库
//$sql = "INSERT INTO CET6 VALUES('".$data->sheets[0]['cells'][$i][$j]."')";
//$zh=pg_query($sql);
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
}
echo 输出正常
但是使用sql语句时出问题
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
for($j=1;$j<20;$j++){
//开始读取excel文件的内容并插入数据库
$sql = "INSERT INTO CET6 VALUES('".$data->sheets[0]['cells'][$i][$j]."')";
$zh=pg_query($sql);
//echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
}
我想知道怎么处理
因为数据库设置了主键所以不能为空,错误提示正好就是这个主键字段,但是这个字段值在Excel中都有呀 展开
1个回答
展开全部
既然是主键有问题 那么看看 如果设置为空是否好使 把所有问题改为最简单的并可以执行后在变成你想要的
追问
$sql = "INSERT INTO cet6 ('".$dat=$data->sheets[0]['cells'][1][$j]."')VALUES('".$da=$data->sheets[0]['cells'][$i][$j]."')"; ,我现在对这个标点符号很头疼。我用的是PHP5.4。64位,postgreSQL9.2的数据库
追答
首先 如果一个值insert 的value不需要加s 其次所有的值最好在SQL 外取得在引入 标点符号到是没什么问题 最后为什么还是个逗号,,,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询