一些关于PHP的知识
2018-09-07 14:04
1、如何配置PhpMyAdmin2.9
网络上很多教程的配置文件是针对PhpMyAdmin底版本的,一开始连2.9配置文件都不知道放哪里?
配置文件相对地址是: (不是这个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(setnamesgb2312);
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();
echoHelloWorld!;
$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);
/*定义变量dbh,mysql_connect()函数的意思是连接mysql数据库,@的意思是屏蔽报错*/
if(!$dbh){die(error);}
/*die()函数的意思是将括号里的字串送到浏览器并中断PHP程式(Script)。括号里的参数为欲送出的字串。*/
@mysql_select_db(ok,$dbh);
/*选择mysql服务器里的一个数据库,这里选的数据库名为ok*/
$q=Select*FROMabc;
/*定义变量q,Select*FROMabc是一个SQL语句,意思是读取表abc中的数据*/
?>
<br/>
<!--=========方法一=========-->
<br/>
<?
$rs=mysql_query($q,$dbh);
/*定义变量rs,函数mysql_query()的意思是:送出query字串供MySQL做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值*/
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>;
/*定义量变(数组)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数据库的连接*/
?>
上一篇:数组处理函数库第12页