<?
$dbh = @mysql_connect("localhost:3306","root","9999")
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error")}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */
@mysql_select_db("ok", $dbh)
/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */
$q = "SELECT * FROM abc"
/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */
?>
<br />
<!--========= 方法一 =========-->
<br />
<?
$rs = mysql_query($q, $dbh)
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!")}
echo "<table>"
echo "<tr><td>ID</td><td>Name</td></tr>"
while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>"
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "</table>"
?>
<br />
<!--========= 方法二 =========-->
<br />
<?
$rs = mysql_query($q, $dbh)
while($row = mysql_fetch_object($rs)) echo "$row->id $row->name <br />"
/* id和name可以换位置 */
?>
<br />
<!--========= 方法三 =========-->
<br />
<?
$rs = mysql_query($q, $dbh)
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] <br />"
/* id和name可以换位置 */
?>
<!--========= 方法三最快 =========-->
<?
@mysql_close($dbh)
/* 关闭到mysql数据库的连接 */
?>
我建议一下吧,文本数据库的例子本来太多,但是为了逻辑简化,最好通过专门接口实现文件与数据的转换,可以采用我下面的模板编写:<?php
//文件最前面定义两个全局变量,数据库文件名和用户数组
$pwd_db_file='db.txt'
$UserPassword=array()
//下面的pwd_db_read函数,把文件内容读入到全局数组中
function pwd_db_read(){
global $pwd_db_file, $UserPassword
$fp=fopen($pwd_db_file,'r')
while ($s=fgets($fp)){
list($usr,$pwd)=explode('|', $s)
$UserPassword[$usr]=$pwd
}
fclose($fp)
}
//下面的pwd_db_write函数保存数组内容到文件中
function pwd_db_write(){
global $pwd_db_file, $UserPassword
fp=fopen($pwd_db_file, 'w')
foreach ($UserPassword as $usr=>$pwd)
fputs($fp,"$usr|$pwd\n")
fclose($fp)
}
//有了上面的全局变量和函数,要写什么功能都简单
//下面假释本脚本调用的时候通过reg.php?job=add&user=...&pass=...
//的格式进行调用,job为add表示添加用户,del表示删除,modi表示修改
//另外的user和pass表示用户名或者密码,job不是以上内容表示登录
//主程序一开始就打开数据库
pwd_db_read()
//下面判断功能
if ($jon=='add'){
if (array_key_exists($user,$UserPassword)) echo "用户 $user 已经存在!"
else $UserPassword[$user]=$pass//就一句话,简单吧
}elseif (job=='del'){
unset($UserPassword[$user])//你自己考虑编写是否确认删除的内容
}elseif ($job=='modi'){
if (array_key_exists($user,$UserPassword)) $UserPassword[$user]=$pass//和添加是不是有点类似
else echo "用户 $user 不存在!"
}else{
if ($UserPassword[$user]==$pass){
echo '密码正确。'
//接下来可能要做许多事情
}else echo '密码错误!'
}
//程序最后保存数据库修改
pwd_db_write()
?>
看得懂吗,没有上机调试,语法问题可能难免,如果发现不明白的问题请补充。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)