php全国地区数据库 php数据库中文乱码怎么解决

我做的php 网站 , 我在网上下载了ip 纯真版数据库,能显示地区 比如 “吉林省四平市” , 我想把它提取出来?php
//第一步:透过代理获取用户真实的IP地址
$theip=getip();
function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
//第二步:通过读取IP地址库,找到所属地区
//假设表名为ip,字段有begin(起始),end(结束),area(地区代号)
$dblink=@mysql_connect("数据库服务器名","数据库用户名","数据库密码");
$dbselect=@mysql_select_db(数据库名);
if (!$dbselect){
die("数据库无法读取");
}
$result=mysql_query("select * from `ip` where `begin`=`$theip` and `end`=`$theip`");
$num=mysql_num_rows($result);
if($num0){
$info=mysql_fetch_array($result);
$page=$info['area'];
else{
$page='default';//如果IP不在数据库中,则用缺省的页面
}
//第三步:转到相关页面,如代号为"js",转到"js.php"页面
$page.='.html';//后缀你可以自己取
echo "script language=\"javascript\"window.location.replace(\"$page\")/script";
?
thinkphp 数据库查询怎么查?thinkphp如何查询数据库?
数据库查询
ThinkPHP内置了非常灵活的查询方法 , 可以快速的进行数据查询操作 。
查询条件可以用于CURD等任何操作,作为where方法的参数传入即可 。
ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全 。
查询方式
一、使用字符串作为查询条件
这是最传统的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 实例化User对象
$User-where('type=1 AND status=1')-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用数组作为查询条件
1
2
3
4
5
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查询条件传入查询方法
$User-where($condition)-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果进行多字段查询 , 那么字段之间的默认逻辑关系是 逻辑与 AND,但是用下面的规则可以更改默认的逻辑判断,通过使用 _logic 定义查询逻辑:
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定义查询逻辑
// 把查询条件传入查询方法
$User-where($condition)-select();
最后生成的SQL语句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用对象方式来查询 (这里以stdClass内置对象为例)
1
2
3
4
5
6
$User = M("User"); // 实例化User对象
// 定义查询条件
$condition = new stdClass();
$condition-name = 'thinkphp';
$condition-status= 1;
$User-where($condition)-select();
最后生成的SQL语句和上面一样

推荐阅读