php读取txt并写入mysql 100
比如:我有一个数据库haha里面有一个表hehe字段有:idABCDEFmysql帐号root密码123456data.txt文件一个里面的数据1234561234571...
比如:我有一个数据库 haha 里面有一个表 hehe 字段有:id A B C D E F
mysql 帐号root 密码 123456
data.txt文件一个 里面的数据
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 8
等等 每行6个数字 他们之间都是一个空格,我现在需要php读取每行的6个数据依次分成6个组 写入到 hehe表中的 A-F6个字段中, 那个ID是自动累加的 不需要写入,然后自动换行 作为第二条记录。
我的代码是这样的:
<?php
$content = file_get_contents('data.txt');
$content = preg_split('/\r\n/', $content, -1, PREG_SPLIT_NO_EMPTY);
foreach($content as $k=>$v){
if($k!=0){
$str = explode(' ',$v);
$conn = mysql_connect("localhost","root","123456");
mysql_select_db("haha",$conn);
$sq = "INSERT INTO hehe (A,B,C,D,E,F) VALUES ('".$str[0]."','".$str[1]."','".$str[2]."','".$str[3]."','".$str[4]."','".$str[5]."')";
mysql_query($sq).'<br>';
}
}
?>
可是执行后 数据库是空的 一个数据也没加入 也没提示错误,希望高手能指教! 展开
mysql 帐号root 密码 123456
data.txt文件一个 里面的数据
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 8
等等 每行6个数字 他们之间都是一个空格,我现在需要php读取每行的6个数据依次分成6个组 写入到 hehe表中的 A-F6个字段中, 那个ID是自动累加的 不需要写入,然后自动换行 作为第二条记录。
我的代码是这样的:
<?php
$content = file_get_contents('data.txt');
$content = preg_split('/\r\n/', $content, -1, PREG_SPLIT_NO_EMPTY);
foreach($content as $k=>$v){
if($k!=0){
$str = explode(' ',$v);
$conn = mysql_connect("localhost","root","123456");
mysql_select_db("haha",$conn);
$sq = "INSERT INTO hehe (A,B,C,D,E,F) VALUES ('".$str[0]."','".$str[1]."','".$str[2]."','".$str[3]."','".$str[4]."','".$str[5]."')";
mysql_query($sq).'<br>';
}
}
?>
可是执行后 数据库是空的 一个数据也没加入 也没提示错误,希望高手能指教! 展开
展开全部
目测没什么错误,echo mysql_error();看下有没有错误,还有把SQL语句输出来,直接执行看提示错误没有
更多追问追答
追问
谢谢朋友 没有错误 就是无法写入数据库 奇怪了
追答
把SQL语句直接在数据库中执行呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看看你的mysql设置,即my.ini里的设置
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"把前面的STRICT_TRANS_TABLES,去掉,然后重启mysql服务,再试一下
2、输出$sq,用这个insert语句到mysql中执行,看看有没有错误
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"把前面的STRICT_TRANS_TABLES,去掉,然后重启mysql服务,再试一下
2、输出$sq,用这个insert语句到mysql中执行,看看有没有错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
兄弟 你这个txt文件每行是通过空格分隔的吗
追问
恩 是的 我手动在txt里输入 数据 是换行的 也是无法写入数据库
貌似 提示有位定义 1 2 3 4 5 之类的话
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询