文档详情

php数据库接口.doc

发布:2016-12-17约1.35万字共13页下载文档
文本预览下载声明
php数据库接口 三套方案 mysql mysqli pdo 1、mysql扩展库 效率不怎么高的数据库 2、mysqli扩展库 3、pdo 可以操作任何一种数据库 mysql扩展库和mysqli的扩展库,扩展库就是操作数据库的一个集合 mysql数据库是用于存放数据的 可以查看php可以使用的扩展库 phpinfo(); 创建新表 ? code class=hljs sqlCREATE table user( id int primary key auto_increment, name varchar(32) not NULL, PASSWORD VARCHAR(64) not NULL, emial VARCHAR(128) not NULL, age TINYINT UNSIGNED not NULL ) /code 预先加载数据 mysql中密码的处理,对一个明文加密成一个密文,而且这个过程是不可逆的。由密文推不出明文。 INSERT INTO user(name,password,emial,age) values(‘zs’,MD5(‘123456’),’1051743154@’,12)其中md5这个函数就是实现对密 码的加密 解决数据库不能插入中文 INSERT INTO user(name,password,emial,age) values(‘赵文娟’,MD5(‘123432326’),’1051743154@’,12) 中文在数据库就不能正常的显示 新建数据库的时候一定要选择正确的编码格式 php利用扩展库操作mysql 1、获取连接 connection=mysqlconnect(“”,”root”,”“);if(!connection){ die(“连接失败”.mysql_error); } 2、选择数据库 mysql_select_db(“senjintang”); 3、设置操作编码 mysql_query(“set names utf8”); 出现中文乱码的时候可以尝试使用 4、向数据库发送指令sql(ddl数据定义语言 创建表 dml数据操作语言 dql数据查询语句select dtl数据事物语句 rollback commit) res=mysqlquery(sql,connection);5、接受返回的结果并处理while(row=mysql_fetch_row(res))echo“$row[0]??$row[1]–$row[2]??$row[3] –$row[4]”;mysqlfetchrow(res) 返回一个索引数组 mysql_fetch_assoc(res)返回一个关联数组mysqlfetcharray(res) 返回索引数组和关联数组两套 mysql_fetch_object(res)把一行数据当作一个对象mysqlfetchrow(res)返回的是结果集的下一行,会一次取出结果集中的下一行 但是这资格函数使用完以后,都必须释放资源 6、释放资源,关闭连接 mysql_free_result($res); //释放结果集 mysql_close(); //关闭连接 不是必须的,会在脚本执行完以后自动关闭 mysqli_error() 可以打印连接的错误 注意:在对数据库执行dml(非select的数据库查询以后),一定不要再进行释放资源,也就是 mysql_free_result(res);因为当前的res是一个 布尔值。所以:对数据的操作严格的区分有无结果集的的返回。 对mysql数据库进行crud操作 使用的是mysql_ 实现对数据库的插入操作 code class=hljs php //server的名称 数据库的用户名和密码 $connection=mysql_connect(,root,); if(!$connection){ die(连接失败.mysql_error); } mysql_select_db(senjintang); mysql_query(set names utf8); $sql=insert into user(name,password,emial,age) values (小敏,md5(123),xiaoming,34); //如果是dml操作,调用这个函数以后返回的是一个布尔值 $res=mysql_query($sql,$connection); $affected_number=mysql_affected_rows($connection); if(!$res){ die
显示全部
相似文档