php导入excel文件入mysql数据库例子
导入前我们需要先准备一个数据库,sql语句代码
代码如下 | 复制代码 |
Source Server : www.111cn.net localhost Target Server Type : MYSQL Date: 2011-10-11 14:11:38 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- |
php处理程序,在这里我们需要使用一个phpexcel类文件了,这个可以百度搜索下载。
代码如下 | 复制代码 |
<?php |
PHP向MySQL数据库中写入数据有三个步骤:
1,PHP和MySQL建立连接关系
2,打开MySQL数据库
3,接受页面数据,PHP录入到指定的表中
1、2两步可直接使用一个数据库链接文件即可:conn.php
代码如下 | 复制代码 |
<?php |
当然,前提是已经安装WEB服务器、PHP和MySQL,并且建立MySQL表“cnbruce”
mysql_connect()中三个参数分别为MySQL地址、MySQL用户名和MySQL密码
然后就是通过WEB页面传递数据,让PHP通过SQL语句将数据写入MySQL数据库指定的表中,比如新建文件 post.php
代码如下 | 复制代码 |
<?php $uname = $_GET['n'];//GET方法为URL参数传递 $sql = "insert into members(username,password) values ('$uname','$psw')"; mysql_close();//关闭MySQL连接 |
测试页面: http://localhost/post.php?n=cnbruce&p=i0514
即可向MySQL数据库hello的members表中插入新的数据“cnbruce”到username字段、“i0514”到password字段
补充:读取表
读取表中的内容,这里我们用while,可以根据具体情况,用for 或其他的.
代码如下 | 复制代码 |
while($row = mysql_fetch_array($result)) |
上面是接受的post例子
代码如下 | 复制代码 |
<?php $name=$_POST['name']; $sql="insert into userinfo(name,password,sex,e_mail,question,answer) ?> 这是数据库。 mysql> describe userinfo; |
SQLite数据库的配置
1.打开php.ini
2.启用extension=php_sqlite.dll扩展(如果需要支持PDO连接的话还需要启用extension=php_pdo_sqlite.dll扩展)
3.重启Apache服务器
sqlite中比较常用的函数
打开或者创建数据库操作:sqlite_open(string 目标数据库的名称[,int 操作该数据库的读写模式,string 返回数据库的错误信息]);//使用该方法的时候,如果第一个参数中指定的数据库已经存在的话就进行连接,如果不存在的话就自动创建;第二个参数的读写模式默认是0666
执行SQL语句操作:sqlite_query(resource 数据库连接的句柄,string SQL语句);//类似于mysql中的mysql_query()方法
统计表中的总记录数:sqlite_num_rows(resource 执行SQL语句后返回的数据集资源);//类似于mysql中的mysql_num_rows()方法
最后一次操作的数据ID:sqlite_last_insert_rowid(resource 数据库连接的句柄);//类似于mysql中的mysql_insert_id()方法
返回查询结果的数据集指针:sqlite_fetch_array(resource 数据库连接的句柄,resource 执行SQL语句后返回的数据集资源)类似于mysql中的mysql_fetch_array()方法
SQLite数据库操作实例
1.创建一个名称为newdb的数据库
$db=sqlite_open("newdb.db") or die('创建或连接数据库失败!');
2.在newdb数据库中新建一个名称为mytable的表
sqlite_query($db,"CREATE TABLE mytable ( uid INT ( 11 ) NOT NULL PRIMARY KEY , uname VARCHAR ( 30 ) NOT NULL ) ") or die('新建表失败!');
3.插入数据到mytable中
sqlite_query($db,"insert into mytable values (1,'Tom')") or die('添加数据失败!');
4.取出表中所有的数据并显示出来
$val=sqlite_query($db,"select * from mytable");
while($ru=sqlite_fetch_array($val)){
print_r($ru);
}
5.关闭newdb数据库
sqlite_close($db);
SQLite有一款类似于phpMyadmin的数据库管理工具
SQLiteManager管理SQLite数据库
SQLite是一种轻量级的文件型数据库,它遵守ACID的关联式数据库管理系统,它占用资源低、扩展性强、兼容性强。
PHP与SQLite的关系就好像是ASP与Access的关系,Access是文件型数据库,SQLite也是文件型数据库,文件型数据库的特点就是,不用像Mysql、MSSQL、Oracle等数据库那样需要另外安装,使用Access或是SQLite之类的文件型数据库前只需要下载相应的扩展驱动包,然后放到相应的扩展目录,稍作配置就可以使用了。现在的PHP5及以上的版本都内置了SQLite数据库扩展,只需要在php.ini中开启扩展便可以直接使用了,详情参考:PHP5中SQLite数据库的配置。
据说SQLite的源码包只有不到3万行的代码,加起来还不到300KB,它的“轻量”和“效率”可想而知。
SQLiteManager与phpMyAdmin的不同之处:
SQLiteManager不会像phpMyAdmin那样能自动识别你的数据库,使用SQLiteManager前,需要手动的对数据库的路径和名称进行配置,配置好之后才可以在SQLiteManager下管理数据库。
SQLiteManager管理SQLite数据库操作流程
1.打开WAMP环境中自带的SQLiteManager
2.在主页中的名称输入框中输入要管理的数据库名称(已经创建好的数据库名称)
3.点击浏览,找到数据库文件,打开
4.在路径中输入数据库文件的绝对路径,我的是在D:/www/mydb.db(注意斜杠的方向!)
5.点击保存
这样,SQLiteManager就可以与刚刚新建的数据库建立连接了,此时就可以在SQLiteManager中像phpMyAdmin一样管理你的SQLite数据库了。
测试环境
mysql编码为uft-8
mysql版本为mysql5.X
php版本为php 5.X
解决办法
1.确保HTML代码中声明的charset值等于utf-8,代码如下
代码如下 | 复制代码 |
<head> |
1:确认phpmyadmin用的mysql字符集为utf-8 unicode(utf8);mysql连接校对为utf8_general_ci,language为中文-chinese simplified
2:确认每个数据表的“整理为”utf8_general_ci;
3:在php连接mysql数据库后加个语句来指定数据库的字符集,
例如:
代码如下 | 复制代码 |
$conn=mysql_connect("localhost","root","你的密码"); //连接数据库 |
如果上面解决不了我们可如下操作
代码如下 | 复制代码 |
$link = mysql_connect('localhost','root',''); |
最后找到一个相对比较全面的解决办法
后来找到了解决方案,记录如下:
代码如下 | 复制代码 |
//尝试创建数据库表 mysql_select_db("courseTable",$con); |
总结,关于mysql中文乱码我是找到很多的办法但最好发现网上很多解决mysql乱码都掉JB蛋的,真正的只要在查询连接时加上mysql_query("SET NAMES 'utf8'");就可以解决了。
我们删除需要的sql语法
delete from aaaa where id in(1,2,3)这里面的1,2,3就是我们需要删除的记录了
那么在php中如何来做
1、首先在文章列表页面(list.php),将多选筐命名为:“$del_id[]”,值为文章ID号。
例如(list.php):
代码如下 | 复制代码 |
<form name="del_form" action="del.php" method="post"> 2、处理页面(del.php): <?php |
案例分析:
上面批量核心代码是 表单名为del_id[]与
代码如下 | 复制代码 |
for($i=0;$i<$del_num;$i++){ |
这个就是获取提交过来的数组然后我们再遍历一条条删除了这个与我们最前面的说法更小一样,其实我们可以加地改进
代码如下 | 复制代码 |
$ids = implode(',',$_POST['del_id']); |
这样就可以简少很多的语句哦,当然上面需要判断提交过来的是不是数组了,最后我们对del.php文件进行代码优化删除操作
代码如下 | 复制代码 |
<?php |
相关文章
- 操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
- 本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
- 在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
- 安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
- C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
- 通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
- 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
- mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
- 这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
- yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
- 1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21
- 这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-10
- 这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
- “主机,用户名,密码”得到连接、“数据库,sql,连接”得到结果,最后是结果的处理显示。当然,数据库连接是扩展库为我们完成的,我们能做的仅仅是处理结果而已。...2013-09-29
- 对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密,下面通过本文给大家介绍C#连接加密的Sqlite数据库的方法,感兴趣的朋友一起看看吧...2020-06-25
- 这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
- 这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16