时间:2021-07-01 10:21:17 帮助过:2人阅读
- <span style="color: #008080;">mysql_select_db</span>("test",<span style="color: #800080;">$myconn</span><span style="color: #000000;">);<br>
- </span><span style="color: #800080;">$strSql</span>="select * from user"<span style="color: #000000;">;<br>
- </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>
- </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>))
- <span style="color: #000000;"> {
- </span>?>
- <tr>
- <td align="center" height="19"><?<span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>["id"]?></td>
- <td align="center"><?<span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>["userid"]?></td><span style="color: #000000;">
- 。。。
- </span></tr>
- <?<span style="color: #000000;">
- }
- </span><span style="color: #008000;">//</span><span style="color: #008000;">关闭对数据库的连接</span>
- <span style="color: #008080;">mysql_close</span>(<span style="color: #800080;">$myconn</span>);
上例中列出了大部分常用的php中数据库操作,为mysql链接版,这样的代码有几个问题:
0.可以通过预定义的方式来定义变量,比如数据库所在的主机,用户名等:如define(MYSQL_HOST, ‘localhost’)。在编写代码时应时刻注意这个问题,通过这样的解耦合操作,使代码可重用,易修改性得到很大提高。
1. 每种操作都不保证成功,可以添加die()错误处理:如
- <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可以屏蔽底层数据库差异。下面一个简答举例:
- <?<span style="color: #000000;">php
- </span><span style="color: #800080;">$dsn</span> = "mysql:host=localhost;dbname=test"<span style="color: #000000;">;
- </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;">);
- </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;">);
- </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$count</span><span style="color: #000000;">;
- </span><span style="color: #800080;">$db</span> = <span style="color: #0000ff;">null</span><span style="color: #000000;">;
- </span>?>
新建pdo对象时第一个参数为数据源,里面可以指定来自不同的数据库的参数。然后可以使用pdo的一系列方法与数据源交互。
php中关于数据库的操作
标签: