您的位置:首页 > 编程语言 > PHP开发

php中关于数据库的操作

2015-07-12 16:05 471 查看
php中对数据库的操作,举例如下:

//连接到本地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的一系列方法与数据源交互。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: