一些关于PHP的知识


Posted in PHP onNovember 17, 2006

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("set names 'gb2312'");

5、用PHP输出静态页面

有2种

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

第一种:利用模板

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

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

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

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

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

<?php
require('smarty/Smarty.class.php');
$t = new Smarty;
$t->assign("title","Hello World!");
$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 "Hello World!";
$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 * 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 相关文章推荐
用穿越火线快速入门php面向对象
Feb 22 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
PHP4和PHP5共存于一系统
Nov 17 #PHP
Apache2 httpd.conf 中文版
Nov 17 #PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
Nov 17 #PHP
一个MYSQL操作类
Nov 16 #PHP
一个好用的分页函数
Nov 16 #PHP
第十五节--Zend引擎的发展
Nov 16 #PHP
第十四节--命名空间
Nov 16 #PHP
You might like
用函数读出数据表内容放入二维数组
2006/10/09 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
取得传值的函数
2006/10/27 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
python检测远程udp端口是否打开的方法
2015/03/14 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python虚拟环境完美部署教程
2019/08/06 Python
python 求定积分和不定积分示例
2019/11/20 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
初入社会应届生求职信
2013/11/18 职场文书
学生会主席演讲稿
2014/04/25 职场文书
主持人演讲稿
2014/05/13 职场文书
房产协议书范本
2014/10/18 职场文书
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
计算机实训报告总结
2014/11/05 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书