php如何实现从数据库取数据写入新数组
说到php从数据库取数据写入数组,大家可能第一反应就是用循环啦,其实一抓一大把。数据库拿出来的数据一般是资源类型,你得得先读出来才能用。比如,咱们常用的mysql_fetch_assoc函数就非常给力,写个大概是这样的:
while($row = mysql_fetch_assoc($res)){
$data[] = $row;
}
是不是特别简单?这样就能顺利地把所有数据逐条读出来,存进一个新数组里了。别忘了,循环里加一点条件判断也挺重要的,不然出错了可不好找!

php怎么把txt文本读取后写入mysql数据库
其实读txt写进数据库也不难,就是得按步骤一步步来。比如你有个data.txt文件,里面数据格式你得定好,通常是用制表符\t或换行符\r\n分隔。之前,我就看到过这样写文件的代码:
fputs("data.txt","$str1\t$str2\r\n");
读取时,你得先用file_get_contents把整个文件内容读出来,然后用explode("\r\n", $str)分割成一行一行,接着拿这些数据插入数据库里。比如插入sql语句:
$sql = "insert into 表名(id, num) values('$id', '$num')";
关键步骤分解来讲一下:
- 先用
file_get_contents或file()函数读取文件; - 用
explode或者逐行处理,把每条数据分开; - 连接数据库,记得确保数据库连接没问题哦;
- 使用
insert语句把每条数据写入到你的目标表里。
其实,这里面小细节挺多,比如写入时要处理字符编码,防止乱码;还要注意sql注入问题,最好用准备语句或者mysqli、PDO来执行。
说到从一个数据库中的几条数据读取出来存入另一个数据库,也有技巧。大体思路就是先取出来再写进去。用PDO或者框架自带的查询构造器都可以,有个简单的sql写法是:
INSERT INTO student1 SELECT * FROM student;
不过这就要求两个数据库表字段要保持一致,要不然字段对应顺序得写清楚,才不会乱套。
除了这些,php还可以用preg_match_all啥的从网站上匹配信息,然后再存入数据库,挺炫酷。需要用到的函数主要有:
file_get_contents():抓取网页内容;preg_match()或preg_match_all():匹配你想要的数据。

相关问题解答
- php从数据库取数据写数组是咋操作的?
嗯,这个其实非常简单啦,通常用while循环配合mysql_fetch_assoc或者mysqli_fetch_assoc,一条一条地取数据,然后扔到数组里,保证你能拿到所有的记录。这样写法既直观又高效,入门必备技能。
- 读txt文件写入数据库难不难?
说实话,关键是得搞清楚数据格式,然后分割好每一条数据,再拼装SQL语句把它们写入数据库。用php的file_get_contents和explode,或者直接用file()配合循环也很方便,挺灵活的。仔细点,不怕弄出错。
- 怎么确保插入数据库的SQL语句执行成功?
这个嘛,最重要的就是先确认数据库连接成功,然后变量赋值正确,代码里面最好有判断语句,比如if(!$result) die("插入失败: " . mysqli_error($conn));,这样万一失败能马上知道错在哪里,不能傻乎乎地以为一切都自动好,犯错没人告诉你那就悲剧了。
- php操作数据库有没有推荐的写法?
强烈建议用mysqli或者PDO! 这两个都比较新,支持预处理语句,防止SQL注入,代码结构也更清晰。虽然mysql扩展用着简单,但已经过时了,也不安全。放心,用PDO什么的,习惯了觉得舒服多了,炫酷又靠谱!
发布评论