原文出處:http://austintodo.pixnet.net/blog/post/23821431-php---mysql-%E6%95%99%E5%AD%B8
這邊有個php mysql 教學的網站
http://www.php-mysql-tutorial.com/
用php+mysql也是行之有年了...
紀錄一下在php內怎麼使用mysql相關語法
一開始剛學php的時候
只是很簡單的使用php內建的mysql_connect指令
簡單直覺的方式
<?php
$dbhost = '127.0.0.1';
$dbuser = 'mysql_user';
$dbpass = 'mysql_password';
$dbname = 'mysql_databaseName';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');
mysql_query("SET NAMES 'utf8'");
mysql_select_db($dbname);
$sql = "SELECT COUNT(*) as total FROM `FileList` WHERE `class` = 0;";
$result = mysql_query($sql) or die('MySQL query error');
while($row = mysql_fetch_array($result)){
echo $row['name'];
}
?>
其中以下四個變數是要設定你的mysql相關設定
$dbhost = '127.0.0.1';
$dbuser = 'mysql_user';
$dbpass = 'mysql_password';
$dbname = 'mysql_databaseName';
這邊就是建立連線
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');
設定相關的編碼和選擇要使用的資料庫
mysql_query("SET NAMES 'utf-8'");
mysql_select_db($dbname);
接著就準備開始使用mysql的語法了
$sql = "SELECT COUNT(*) as total FROM `FileList` WHERE `class` = 0;";
$result = mysql_query($sql) or die('MySQL query error');
while($row = mysql_fetch_array($result)){
echo $row['name'];
}
先用$sql紀錄語法,接著丟到mysql_query($sql)
這函式就會把$sql的語法丟到mysql讓他去執行
然後利用$result = mysql_query($sql)去得到回傳的結果
根據sql語法回傳的資料結構也不一樣
若是最一般的select語法則可以利用while迴圈和mysql_fetch_array去拿到資料
以上是最簡單的php mysql語法
但是後來發現如果一個php file裡面要存取多次database或是存取不只一個database
就會非常麻煩
所以我就改用了物件導向的方式
在此感謝NTUCSIE IRLab的健文學長
教導小弟使用php class...受益良多!!
物件導向的方式
通常我會寫兩個檔案,一個是DB_config.php,另外一個是DB_class.php
DB_config.php就是很簡單的設定database的位址、username、password以及使用的資料表
<?php
global $_DB;
$_DB['host'] = "localhost";
$_DB['username'] = "username";
$_DB['password'] = "password";
$_DB['dbname'] = "db_name";
?>
另外再寫一個DB_Class.php檔
<?php
class DB
{
var $_dbConn = 0;
var $_queryResource = 0;
function DB()
{
//do nothing
}
function connect_db($host, $user, $pwd, $dbname)
{
$dbConn = mysql_connect($host, $user, $pwd);
if (! $dbConn)
die ("MySQL Connect Error");
mysql_query("SET NAMES utf8");
if (! mysql_select_db($dbname, $dbConn))
die ("MySQL Select DB Error");
$this->_dbConn = $dbConn;
return true;
}
function query($sql)
{
if (! $queryResource = mysql_query($sql, $this->_dbConn))
die ("MySQL Query Error");
$this->_queryResource = $queryResource;
return $queryResource;
}
/** Get array return by MySQL */
function fetch_array()
{
return mysql_fetch_array($this->_queryResource, MYSQL_ASSOC);
}
function get_num_rows()
{
return mysql_num_rows($this->_queryResource);
}
/** Get the cuurent id */
function get_insert_id()
{
return mysql_insert_id($this->_dbConn);
}
}
?>
最後在要使用mysql的php file裡面
<?php
require_once("DB_config.php");
require_once("DB_class.php");
$db = new DB();
$db->connect_db($_DB['host'], $_DB['username'], $_DB['password'], $_DB['dbname']);
$db->query("SELECT ....");
while($result = $db->fetch_array())
{
// do something you want...
}
?>
0 意見: