也許是數(shù)據(jù)庫的問題,我也遇到過,我用的是wampserver,界面的工具,直接點鼠標(biāo)就可能建成mysql數(shù)據(jù)庫,建成后導(dǎo)入數(shù)據(jù),查詢數(shù)據(jù)庫返回面而的是亂碼,我遇到的情況是這樣的:
創(chuàng)新互聯(lián)建站是一家專注于做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計,晉中網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:晉中等地區(qū)。晉中做網(wǎng)站價格咨詢:13518219792
1、建庫用gbk,如圖。
2、導(dǎo)入表及數(shù)據(jù)時,默認是utf,此處要改成gbk就不是亂碼了,如第圖底頁面,如果是默認的或是其它的字符集,能導(dǎo)入成功但是亂碼。另外直接把sql粘貼到sql窗口,也不是亂碼。
希望能幫到你,呵呵~
//首先配置數(shù)據(jù)庫連接
mysql_connect("localhost","root","");
mysql_select_db("db");
mysql_query("set?names?'utf8'");
//寫sql語句并執(zhí)行
$sql="select?id?from?表名?where?條件";?
$query=mysql_query($sql);
$rs=mysql_fetch_array($query);
//打印
echo?$rs['id']
?php
/**
*
@param
string
$url
地址url
*
@return
$array
返回url對應(yīng)的id
*/
function
getid($url){
//連接數(shù)據(jù)庫
mysql_connect('localhost','root','user')
or
die('數(shù)據(jù)庫鏈接失敗');
//不清楚數(shù)據(jù)庫名稱,這里用dbname代表數(shù)據(jù)庫名稱。需要替換為實際的數(shù)據(jù)庫名稱
mysql_select_db('dbname');
mysql_query('set
names
utf8');//如果頁面編碼是utf-8的。這里設(shè)置查詢的編碼為utf-8
$sql
=
"select
`id`
from
`visitor`
where
`file`='{$url}'";
$result
=
mysql_query($sql);
//不清楚url是不是會重復(fù),這里循環(huán)可以保證得到所有的id
while($row
=
mysql_fetch_assoc($result)){
$id[]
=
$row['id']
}
//如果url不會重復(fù)則使用$id[0],如果會重復(fù)則循環(huán)$id就可以得到每個id了。
return
$id;
}
說一下簡單的查詢:
form
請輸入產(chǎn)品名:input?type="text"?name="key"
input?type="submit"?name="submit"?value="查詢"
/form
效果圖:
然后加入以下php代碼:
?php
$conn=mysql_connect("localhost","用戶名","密碼");
mysql_select_db("mydb",$conn);
mysql_query("SET?NAMES?gbk");
if($_POST['submit']!="")
{
$key=$_POST['key'];
$sql="select?*?from?emp?where?name?like?'$key'";???//此處以name這個數(shù)據(jù)庫中的字段為例
$rs=mysql_query($sql,$conn);
while($info=mysql_fetch_array($rs)){
echo?$info['name'];????//輸出產(chǎn)品相關(guān)信息
}
}
?
如果是高級查詢的話,需要幾個條件,在查詢語句里加個and和查詢條件就可以了
我是這樣做的測試:
create table music(
id varchar(10),
title varchar(100),
name varchar(10)
);
insert into music values('2','離別','12354');
insert into music values('15','朋友','5454');
insert into music values('161','送別','4668');
?php
$conn=mysql_connect("localhost:3307","數(shù)據(jù)庫用戶名","數(shù)據(jù)庫密碼");
mysql_select_db("date");
$result=mysql_query("select max(id+0) max_id from music",$conn);
$field=mysql_fetch_row($result);
print_r($field);
?
結(jié)果:Array ( [0] = 161 )
因為mysql中varchar不能用max()所以通過id+0來轉(zhuǎn)換id類型從而解決這個問題 ,如果你建表時id是整數(shù)型的就可以直接用max()了。詳細解釋見:。
PHP連接數(shù)據(jù)庫之后,查詢之前,執(zhí)行下面SQL語句:
set names gbk;