php中关于数据库的操作
2015-07-12 16:05
471 查看
php中对数据库的操作,举例如下:
上例中列出了大部分常用的php中数据库操作,为mysql链接版,这样的代码有几个问题:
0.可以通过预定义的方式来定义变量,比如数据库所在的主机,用户名等:如define(MYSQL_HOST, ‘localhost’)。在编写代码时应时刻注意这个问题,通过这样的解耦合操作,使代码可重用,易修改性得到很大提高。
1. 每种操作都不保证成功,可以添加die()错误处理:如
die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。
参考:虽然两者相同,但通常使用中也有细微的选择性。例如:
当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字 echo "1111"; exit(0);
当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。$fp=fopen("./readme.txt","r") or die("不能打开该文件");
2.这里的代码只针对mysql,若系统要迁移,数据库要变为其他,如Oracle等则代码变动较多,带来很多额外工作量。而java做后台,则有jdbc来访问数据库,通过不同的数据库厂商提供的数据库驱动访问数据库。所以从php5之后加入了类似的pdo来为多种数据库提供统一访问,使用pdo可以屏蔽底层数据库差异。下面一个简答举例:
新建pdo对象时第一个参数为数据源,里面可以指定来自不同的数据库的参数。然后可以使用pdo的一系列方法与数据源交互。
//连接到本地mysql数据库 $myconn=mysql_connect("localhost","root","root"); //这就是指定数据库字符集,一般放在连接数据库后面就系了 mysql_query("set names 'gbk'"); // //选择test为操作库
mysql_select_db("test",$myconn); $strSql="select * from user"; //用mysql_query函数从user表里读取数据 $result=mysql_query($strSql,$myconn); //通过循环读取数据内容 while($row=mysql_fetch_array($result)) { ?> <tr> <td align="center" height="19"><?echo $row["id"]?></td> <td align="center"><?echo $row["userid"]?></td> 。。。 </tr> <? } //关闭对数据库的连接 mysql_close($myconn);
上例中列出了大部分常用的php中数据库操作,为mysql链接版,这样的代码有几个问题:
0.可以通过预定义的方式来定义变量,比如数据库所在的主机,用户名等:如define(MYSQL_HOST, ‘localhost’)。在编写代码时应时刻注意这个问题,通过这样的解耦合操作,使代码可重用,易修改性得到很大提高。
1. 每种操作都不保证成功,可以添加die()错误处理:如
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters’);
die()和exit()都是中止脚本执行函数;其实exit和die这两个名字指向的是同一个函数,die()是exit()函数的别名。该函数只接受一个参数,可以是一个程序返回的数值或是一个字符串,也可以不输入参数,结果没有返回值。
参考:虽然两者相同,但通常使用中也有细微的选择性。例如:
当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常用exit()这个名字 echo "1111"; exit(0);
当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()这个名字。$fp=fopen("./readme.txt","r") or die("不能打开该文件");
2.这里的代码只针对mysql,若系统要迁移,数据库要变为其他,如Oracle等则代码变动较多,带来很多额外工作量。而java做后台,则有jdbc来访问数据库,通过不同的数据库厂商提供的数据库驱动访问数据库。所以从php5之后加入了类似的pdo来为多种数据库提供统一访问,使用pdo可以屏蔽底层数据库差异。下面一个简答举例:
<?php $dsn = "mysql:host=localhost;dbname=test"; $db = new PDO($dsn, 'root', ''); $count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()"); echo $count; $db = null; ?>
新建pdo对象时第一个参数为数据源,里面可以指定来自不同的数据库的参数。然后可以使用pdo的一系列方法与数据源交互。
相关文章推荐
- G.711U在RTP中的展现
- thinkphp模型没继承model报的错
- php添加扩展模块
- yii2文件(图片)上传,url保存到数据表
- [PHP]生成随机数(建立字典)
- CCNA综合实验,vlan,vlan间路由,vtp,HSRP,PVST,DHCP。
- yii2basic下使用ueditor
- PHP设计模式之适配器模式
- PHP设计模式之策略模式
- 关于启用php_curl.dll后PHP Warning: PHP Startup: in Unknown on line 0之烦恼~~
- 使用laravel 的artisan快速创建表
- 修改PHP上传文件大小限制的方法
- 关于PHP会话:session和cookie
- php 中利用json_encode和json_decode传递包含特殊字符的数据
- [php] 面包屑导航2
- InputStream重用技巧(利用ByteArrayOutputStream)
- php学习之路:php在iconv功能 详细解释
- vlan间路由,VTP,DHCP,PVST,HSRP。真是综合了好多知识点。
- vlan,vlan间路由,vtp,HSRP,PVST,DHCP。
- PHP中单引号和双引号的区别