Category Archives: PHP

常用的PHP数据库操作方法(MYSQL版)

Gevin的空间

Gevin最近一直在折腾自己的网站首页——Gevin的空间,写的大部分PHP脚本都要用到和MYSQL数据库相关的操作,今天把这些方法和大家分享一下,希望大家能多多交流!

一、数据库操作

1. 连接MYSQL数据

_connect()

e.g.

$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters’);

Continue reading

Tags: , , , ,

完美解决301重定向的两种方法

301重定向真是个好方法啊。前一篇文章Gevin也说过,本博客不幸被换域名了。域名一换,以前辛苦做博客的成果也就报废了,网上的相关链接也打不开了,搜索引擎的收录也杯具了……

幸好有301重定向能有效解决这样的问题。正如月光博客这篇文章中说的,

301重定向可促进搜索引擎优化效果

从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

关于301重定向的更多内容,大家不妨Google一下。本文只介绍实现方法啦!

Continue reading

Tags: , , , , , ,

MYSQL创建表并创建外键

PHP

PHP创建MYSQL数据表和外键

本文Gevin向介绍PHP中创建MYSQL数据表和创建外键的语法,希望对大家有帮助!

1.php创建MySQL表

在php中创建表的代码在下面,只要有点sql基础,就应该能看懂,否则,Gevin建议先练一下sql的基本功,打好基础更重要。

	//创建网站地址表
	$query = 'CREATE TABLE IF NOT EXISTS  websites
			(website_id		INTEGER UNSIGNED	NOT NULL AUTO_INCREMENT,
			 website_name		VARCHAR(50)		NOT NULL DEFAULT "",
			 website_url		VARCHAR(100)		NOT NULL DEFAULT "",

			PRIMARY KEY (website_id)
			)
			ENGINE = MyISAM
			character set utf8 COLLATE utf8_general_ci';
	_query($query, $db) or die(_error($db));
	echo '网站地址表创建成功<br />';

Continue reading

Tags: , , , , ,

网页上显示MYSQL执行结果时utf8编码中文乱码的解决方法

在网页上显示MYSQL查询结果时,如果结果中包含中文,可能会出现乱码。

解决乱码问题分3步:
1. 保证数据库中要查询的字段是utf-8编码,为了保险起见,可以把数据库以及相关的中文字段都设置成utf-8编码(后半句应该是非必须的,我没折腾的试一下);
2. 网页的meta标签中要写明utf-8编码:

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

3. 在执行数据库操作前,先写这句话设置好编码;

_query('set names utf8');

然后在进行数据库操作:

$result = mysql_query($query, $db) or die(mysql_error($db));

这样,把数据库操作的结果打印在网页上时就不会乱码了。

Tags: , ,

解决mysql输入中文乱码问题

在php中写代码创建table时,如果输入中文字段出现乱码,是选择的编码错误,可以在sql语句中插入下面两句之一:

character set utf8 COLLATE utf8_general_ci

或:

character set gbk collate gbk_chinese_ci

例():


	//创建类别表
	$query = 'CREATE TABLE IF NOT EXISTS  classes
			(class_id		INTEGER UNSIGNED	NOT NULL AUTO_INCREMENT,
			 class_name		VARCHAR(20)			NOT NULL DEFAULT "",
			
			PRIMARY KEY (class_id)
			)
			ENGINE = MyISAM
			character set utf8 COLLATE utf8_general_ci';
	_query($query, $db) or die(_error($db));

Tags: , , ,

php5.3开始出现的ereg() is deprecated Error问题原因及解决办法

5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”。问题根源是php中有两种正则表示方法,一个是posix,一个是perl,6打算废除posix的正则表示方法所以后来就加了个 preg_match。此问题解决办法很简单,在ereg前加个过滤提示信息符号即可:把ereg()变成@ereg()。这样屏蔽了提示信息,但根本问 题还是没有解决,php在5.2版本以前ereg都使用正常,在5.3以后,就要用preg_match来代替ereg。所以就需要变成这样,原来:
ereg(“^[0-9]*$”,$page)
变成:
preg_match(“/^[0-9]*$/”,$page)
特别提醒:posix与perl的很明显的表达 区别就是是否加斜杠,所以与ereg相比,后者在正则的前后分别增加了两个”/”符号,不能缺少。
Tips:此问题在php5.2之前版本不会出 现。

另外,找了一个老外写的关于这个问题替换函数的源码,在这里一块共享一下: Continue reading

Tags: , ,