当前位置:Gxlcms > 数据库问题 > php中关于数据库的操作

php中关于数据库的操作

时间:2021-07-01 10:21:17 帮助过:2人阅读

连接到本地mysql数据库 $myconn=mysql_connect("localhost","root","root");
//这就是指定数据库字符集,一般放在连接数据库后面就系了
mysql_query("set names ‘gbk‘"); //

//选择test为操作库
  1. <span style="color: #008080;">mysql_select_db</span>("test",<span style="color: #800080;">$myconn</span><span style="color: #000000;">);<br>
  2. </span><span style="color: #800080;">$strSql</span>="select * from user"<span style="color: #000000;">;<br>
  3. </span><span style="color: #008000;">//</span><span style="color: #008000;">用mysql_query函数从user表里读取数据<br><br></span>  <span style="color: #800080;">$result</span>=<span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$strSql</span>,<span style="color: #800080;">$myconn</span><span style="color: #000000;">);<br><br>  <span style="color: #008000;">//</span><span style="color: #008000;">通过循环读取数据内容</span><br>
  4. </span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span>=<span style="color: #008080;">mysql_fetch_array</span>(<span style="color: #800080;">$result</span>))
  5. <span style="color: #000000;"> {
  6. </span>?>
  7. <tr>
  8. <td align="center" height="19"><?<span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>["id"]?></td>
  9. <td align="center"><?<span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>["userid"]?></td><span style="color: #000000;">
  10. 。。。
  11. </span></tr>
  12. <?<span style="color: #000000;">
  13. }
  14. </span><span style="color: #008000;">//</span><span style="color: #008000;">关闭对数据库的连接</span>
  15. <span style="color: #008080;">mysql_close</span>(<span style="color: #800080;">$myconn</span>);

上例中列出了大部分常用的php中数据库操作,为mysql链接版,这样的代码有几个问题:

0.可以通过预定义的方式来定义变量,比如数据库所在的主机,用户名等:如define(MYSQL_HOST,  ‘localhost’)。在编写代码时应时刻注意这个问题,通过这样的解耦合操作,使代码可重用,易修改性得到很大提高。

1.  每种操作都不保证成功,可以添加die()错误处理:如

  1. <span style="color: #800080;">$db</span> = <span style="color: #008080;">mysql_connect</span>(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or <span style="color: #0000ff;">die</span>(‘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可以屏蔽底层数据库差异。下面一个简答举例:

  

  1. <?<span style="color: #000000;">php
  2. </span><span style="color: #800080;">$dsn</span> = "mysql:host=localhost;dbname=test"<span style="color: #000000;">;
  3. </span><span style="color: #800080;">$db</span> = <span style="color: #0000ff;">new</span> PDO(<span style="color: #800080;">$dsn</span>, ‘root‘, ‘‘<span style="color: #000000;">);
  4. </span><span style="color: #800080;">$count</span> = <span style="color: #800080;">$db</span>-><span style="color: #008080;">exec</span>("INSERT INTO foo SET name = ‘heiyeluren‘,gender=‘男‘,time=NOW()"<span style="color: #000000;">);
  5. </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$count</span><span style="color: #000000;">;
  6. </span><span style="color: #800080;">$db</span> = <span style="color: #0000ff;">null</span><span style="color: #000000;">;
  7. </span>?>

新建pdo对象时第一个参数为数据源,里面可以指定来自不同的数据库的参数。然后可以使用pdo的一系列方法与数据源交互。

php中关于数据库的操作

标签:

人气教程排行