一些关于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简单封装了一些常用JS操作
Feb 25 PHP
php一些公用函数的集合
Mar 27 PHP
提高PHP编程效率 引入缓存机制提升性能
Feb 15 PHP
PHP学习笔记之一
Jan 17 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
Jul 15 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
10个值得深思的PHP面试题
Nov 14 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
php字符串倒叙
Apr 01 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
PHP新手上路(八)
2006/10/09 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
Django 用户认证组件使用详解
2019/07/23 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
大学生学习2014全国两会心得体会
2014/03/13 职场文书
买房委托公证书
2014/04/08 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
实例详解Python的进程,线程和协程
2022/03/13 Python