一些关于PHP的知识

时间:2021-05-25

1、如何配置PhpMyAdmin2.9
网络上很多教程的配置文件是针对PhpMyAdmin底版本的,一开始连2.9配置文件都不知道放哪里?
配置文件相对地址是:config.sample.inc.php (不是这个libraries/config.default.inc.php)

2、让phpMyAdmin使用密码登陆
在设置config.inc.php设置以下参数:
$cfg['Servers'][$i]['auth_type']='cookie';
$cfg['blowfish_secret']='123456';//随便设置一个非空字符串
$cfg['DefaultLang']='zh';//默认显示中文,可选

3、没有发现PHP的扩展设置mbstring,而当前系统好像在使用宽字符集。没有mbstring....修改php.ini文件extension=php_mbsting.dll 要重起才能生效!

4、php读取mysql数据库中文字符的时候全部显示问号?
在查询数据库之前,先使用mysql_query("setnames'gb2312'");

5、用PHP输出静态页面

有2种

一种是利用模板技术,另一种是用ob系列函数。两种方法,看起来都差不多,但是实际上,却是不同的。

第一种:利用模板

目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。

它们每一种模板,都有一个获取输出内容的函数。

我们生成静态页面的方法,就是利用了这个函数。

用这个方法的优点是,代码比较清晰,可读性好。

这里我用smarty做例子,说明如何生成静态页

<?php
require('smarty/Smarty.class.php');
$t=newSmarty;
$t->assign("title","HelloWorld!");
$content=$t->fetch("templates/index.htm");
//这里的fetch()就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp=fopen("archives/2005/05/19/0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>

第二种方法:利用ob系列的函数

这里用到的函数主要是ob_start(),ob_end_flush(),ob_get_content(),

其中ob_start()是打开浏览器缓冲区的意思,

打开缓冲后,所有来自PHP程序的非文件头信息均不会发送,

而是保存在内部缓冲区,直到你使用了ob_end_flush().

而这里最重要的一个函数,就是ob_get_contents(),

这个函数的作用是获取缓冲区的内容,相当于上面的那个fetch(),

道理一样的。代码:

<?php
ob_start();
echo"HelloWorld!";
$content=ob_get_contents();//取得php页面输出的全部内容
$fp=fopen("0001.html","w");
fwrite($fp,$content);
fclose($fp);
?>
6、PHP语言读取数据库详解
这段代码的功能是:

连接到一个url地址为localhost、端口为3306的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql服务器上有一个数据库ok,数据库里有一个表abc。表abc一共为两列,列名分别是"id"和"name",将abc里的所有数据读出来。

<?

$dbh=@mysql_connect("localhost:3306","root","9999");



if(!$dbh){die("error");}



@mysql_select_db("ok",$dbh);



$q="Select*FROMabc";

/*定义变量q,"Select*FROMabc"是一个SQL语句,意思是读取表abc中的数据*/

?>

<br/>
<!--=========方法一=========-->
<br/>

<?

$rs=mysql_query($q,$dbh);



if(!$rs){die("Validresult!");}

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>";



echo"</table>";

?>

<br/>
<!--=========方法二=========-->
<br/>

<?

$rs=mysql_query($q,$dbh);

while($row=mysql_fetch_object($rs))echo"$row->id$row->name<br/>";



?>

<br/>
<!--=========方法三=========-->
<br/>

<?

$rs=mysql_query($q,$dbh);

while($row=mysql_fetch_array($rs))echo"$row[id]$row[name]<br/>";



?>

<!--=========方法三最快=========-->

<?

@mysql_close($dbh);



?>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章