phpmysql復制
php封裝mysql類
復制代碼
代碼如下:
<?php
class
Mysql
{
private
$host;
private
$user;
private
$pwd;
private
$dbName;
private
$charset;
private
$conn
=
null;
public
function
__construct()
{
$this->host
=
'localhost';
$this->user
=
'root';
$this->pwd
=
'root';
$this->dbName
=
'test';
$this->connect($this->host,$this->user,$this->pwd);
$this->switchDb($this->dbName);
$this->setChar($this->charset);
}
//負責鏈接
private
function
connect($h,$u,$p)
{
$conn
=
mysql_connect($h,$u,$p);
$this->conn
=
$conn;
}
//負責切換資料庫
public
function
switchDb($db)
{
$sql
=
'use'
.
$db;
$this->query($sql);
}
//負責設置字元集
public
function
setChar($char)
{
$sql
=
'set
names'
.
$char;
$this->query($sql);
}
//負責發送sql查詢
public
function
query($sql)
{
return
mysql_query($sql,$this->conn);
}
//負責獲取多行多列的select結果
public
function
getAll($sql)
{
$list
=
array();
$rs
=
$this->query($sql);
if
(!$rs)
{
return
false;
}
while
($row
=
mysql_fetch_assoc($rs))
{
$list[]
=
$row;
}
return
$list;
}
public
function
getRow($sql)
{
$rs
=
$this->query($sql);
if(!$rs)
{
return
false;
}
return
mysql_fetch_assoc($rs);
}
public
function
getOne($sql)
{
$rs
=
$this->query($sql);
if
(!$rs)
{
return
false;
}
return
mysql_fetch_assoc($rs);
return
$row[0];
}
public
function
close()
{
mysql_close($this->conn);
}
}
echo
'<pre>';
$mysql
=
new
Mysql();
print_r($mysql);
$sql
=
"insert
into
stu
values
(4,'wangwu','99998')";
if($mysql->query($sql)){
echo
"query成功";
}else
{
echo
"失敗";
}
echo
"<br
/>";
$sql
=
"select
*
from
stu";
$arr
=
$mysql->getAll($sql);
print_r($arr);
?>
⑵ php中關於資料庫的操作(php操作mysql資料庫)
PHP開始~
將php-5.2.1-Win32.zip解壓到准備用於安裝PHP的目錄,這里我就解壓到D:wwwphp;找到php目錄下php.ini-dist文件,改名為php.ini;
用記事本打開php.ini,查找以下幾行:
;extension=php_gd2.dll
;extension=php_mcrypt.dll
;extension=php_mysql.dll
去掉前面的分號.這樣做的目的是讓php載入mcrypt和mysql等各種模塊,在需要的時候可以隨時配置;
其他的比如
post_max_size=8M
upload_max_filesize=2M
都可以按實際情況進差粗行設置.
最後保存,也不需要復制任何文件到系統目錄,這樣PHP基本上就OK了!
MySQL
1、安裝
解壓mysql-5.2.3-falcon-alpha-win32.zip得到一個setup.exe安裝文件,運行之開始安裝MySQLServer5.2;
第一步選擇安裝模式,選擇Custom習慣安裝,Next進入下一步;
這一步選擇安裝內容:仍然虛塵鎮MySQLServer完整安裝,主要是自定義下面的安裝目錄,我安裝在D:wwwMySQL5.2點擊Next進入下一步;
Install開始安裝,稍候會提示注冊MySQL帳戶,SKIP即可;
完成安裝,勾選ConfiguretheMySQLServernow,Finish並進入MySQL配置;
2、配置
完成安裝時若勾選了ConfiguretheMySQLServernow,點擊Finish便可直接進入MySQLServerInstanceWizard;否則就需要在MySQL安裝目錄in下找到並運行.exe進入設置.
點Next開始配置,第一步選擇配置模式,這里我已經安裝了MySQL,所以選擇第一種Detailed模式,Next進入下一步;
這一步selectaservertype,不同的選擇決定MySQL佔用不同的系統內存和CPU資源,這里我選的是DeveloperMachine;
繼續Next,選擇資料庫用途,我選的是多功能型的;
下一步設定InnoDB引擎的存儲目錄,我設置的是D:wwwMySQL5.2InnoDBDatafiles,點擊Next進入下一步;
設置MySQL資料庫的並發連接數,這里需要了解什麼是並發連接數,可根據實際情況進行設定.我這里選的是ManualSetting,並且設置連接數為10000;
Next進入下一步,setthenetworkingoptions,採用默認的,繼續Next;
設置默認語言,選擇第三個,設定character為gbk;
Next將MySQL設置為Windows系統服務,採用默認的,Next進入下一步;
選擇設置root帳戶密碼,或者可以同時新建一個匿名帳戶Anonymous.值得注意的是設置root密碼的下面有一個小選項,是否允許root用戶從別的計算機登陸,為了方便可以勾選上,為了安全兄鎮當然最好就別選;
進入下一步PressExecute開始配置,完成Finish關閉設置向導`~
OK!
⑶ PHP訪問MYSQL資料庫封裝類(附函數說明)
復制代碼
代碼如下:
<?php
/*
MYSQL
資料庫訪問封裝類
MYSQL
數據訪問方式,php4支持以mysql_開頭的過程訪問方式,php5開始支持以mysqli_開頭的過程和mysqli面向對象
訪問方式,本封裝類以mysql_封裝
數據訪問的一般流程:
1,連接資料庫
mysql_connect
or
mysql_pconnect
2,選擇資料庫
mysql_select_db
3,執行SQL查詢
mysql_query
4,處理返回的數據
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
0
;
//當前頁面進程查詢資料庫的次數
var
$dblink
;
//資料庫連接資源
//鏈接資料庫
function
connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0
,
$halt=true)
{
$func
=
empty($pconnect)
?
'mysql_connect'
:
'mysql_pconnect'
;
$this->dblink
=
@$func($dbhost,$dbuser,$dbpw)
;
if
($halt
&&
!$this->dblink)
{
$this->halt("無法鏈接資料庫!");
}
//設置查詢字元集
mysql_query("SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink)
;
//選擇資料庫
$dbname
&&
@mysql_select_db($dbname,$this->dblink)
;
}
//選擇資料庫
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this->dblink);
}
//執行SQL查詢
function
query($sql)
{
$this->querynum++
;
return
mysql_query($sql,$this->dblink)
;
}
//返回最近一次與連接句柄關聯的INSERT,UPDATE
或DELETE
查詢所影響的記錄行數
function
affected_rows()
{
return
mysql_affected_rows($this->dblink)
;
}
//取得結果集中行的數目,只對select查詢的結果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//獲得單格的查詢結果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作產生的
ID,只對表有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this->dblink))
>=
0
?
$id
:
$this->result($this->query("SELECT
last_insert_id()"),
0);
}
//從結果集提取當前行,以數字為key表示的關聯數組形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//從結果集提取當前行,以欄位名為key表示的關聯數組形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//從結果集提取當前行,以欄位名和數字為key表示的關聯數組形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//關閉鏈接
function
close()
{
return
mysql_close($this->dblink)
;
}
//輸出簡單的錯誤html提示信息並終止程序
function
halt($msg)
{
$message
=
"<html>\n<head>\n"
;
$message
.=
"<meta
content='text/html;charset=gb2312'>\n"
;
$message
.=
"</head>\n"
;
$message
.=
"<body>\n"
;
$message
.=
"資料庫出錯:".htmlspecialchars($msg)."\n"
;
$message
.=
"</body>\n"
;
$message
.=
"</html>"
;
echo
$message
;
exit
;
}
}
?>
⑷ php連接不上mysql但mysql命令行操作正常的解決方法
故障狀況:php網站連接mysql失敗,但在命令行下通過mysql命令可登錄並正常操作。
解決方案:
1、命令行下登錄mysql,執行以下命令:
復制代碼
代碼如下:show
variables
like
'socket';
執行後會得到類似於如下回顯:
復制代碼
代碼如下:
"Variable_name"
"Value"
"socket"
"/home/mysql/data/mysql.sock"
2、編輯php.ini,找到mysql.default_socket配置項,默認一般是空值(使用編輯Mysql時設置行祥腔的sock路徑),將此項添加值為上宴櫻面回顯中的"/home/mysql/data/mysql.sock":
復制代碼
代碼如下:
;
Default
socket
name
for
local
MySQL
connects.
If
empty,
uses
the
built-in
;
MySQL
defaults.
mysql.default_socket
=
/home/mysql/data/mysql.sock
3、重檔衫啟php。