PHP訪問MySQL數(shù)據(jù)庫:
十余年的雙鴨山網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整雙鴨山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“雙鴨山網(wǎng)站設計”,“雙鴨山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
因為連接數(shù)據(jù)庫需要較長的時間和較大的資源開銷,所以如果在多個網(wǎng)頁中都要頻繁地訪問數(shù)據(jù)庫,則可以建立與數(shù)據(jù)庫的持續(xù)連接。即調(diào)用mysql_pconnect()代替mysql_connect()。
基本步驟:
1.連接服務器:mysql_connect();
2.選擇數(shù)據(jù)庫:mysql_select_db();
3.執(zhí)行SQL語句:mysql_query();
查詢:select
顯示:show
插入:insert
into
更新:update
刪除:delete
4.關閉結(jié)果集:mysql_free_result($result);
5.關閉數(shù)據(jù)庫:mysql_close($link);
phpstudy數(shù)據(jù)庫創(chuàng)建步驟:
1、點擊打開phpstudy軟件,然后點擊mySQL管理器;
2、進入到PHPmyadmin登陸界面,默認賬號和密碼都是root;
3、登陸進去后,如圖所示樣式;
4、然后,點擊數(shù)據(jù)庫,輸入想要的數(shù)據(jù)名稱,如:new,這個隨便?。?/p>
5、點擊創(chuàng)建后,成功后,
PHP使用面向?qū)ο蟮木幊谭绞絹砭帉憯?shù)據(jù)庫操作類
步驟1:創(chuàng)建一個PHP的頁面“config.php”定義數(shù)據(jù)庫相關的參數(shù)
?php // config.php
define(?DB_USER?, "username");
define(?DB_PASSWORD?, "password");
define(?DB_DATABASE?, "database name");
define(?DB_SERVER?, "ip address of database server");
?
第2步:創(chuàng)建一個PHP的類,用于連接數(shù)據(jù)庫,命名為“db_connect.php”
?php // db_connnect.php
class DB_Connect {
private $con;
// constructor
function __construct() {
// connecting to database
$this-con = $this-connect();
}
//Function to connect with database
private function connect() {
// import database connection variables
require_once __DIR__.?/config.php?;
try {
$conn = new PDO(?mysql:host=?.DB_SERVER .?;
dbname=?.DB_DATABASE, DB_USER, DB_PASSWORD);
$conn-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
return $conn;
}
public function getDbConnection(){
return $this-con;
}
}
?
第3步:創(chuàng)建一個類,它包含了所有的功能,為您實現(xiàn)SQL查詢,命名為“db_functions.php”
調(diào)用里面的函數(shù)進行SQL查詢、以促進可重用性和可維護性
?php // db_functions.php
class DB_Functions {
private $con;
// constructor
function __construct() {
require_once __DIR__.?/db_connect.php?;
// connecting to database
$db = new DB_Connect();
$this-con = $db-getDbConnection();
}
public function selectUser($id) {
try {
$stmt = $this-con-prepare(?SQL語句?);
$params = array(?:id? = $id);
$stmt-execute($params);
return $stmt;
} catch(PDOException $e) {
echo ?ERROR: ? . $e-getMessage();
}
}
public function otherSQLfunction($parameter) {
// other sql code
}
}
第4步:最后,在你其他的PHP文件里面只需要簡單地調(diào)用“db_functions.php”的方法
?php
require_once __DIR__.?/db_functions.php?;
$db = new DB_Functions();
$result = $db-selectUser($id);
// other code
?
php操作mysql步驟:
1.$connect=mysql_connect('localhost','root','123456')
or
die('數(shù)據(jù)庫連接失敗。'mysql_error());鏈接mysql。
2.mysql_select_db('database',$connect)選擇鏈接的數(shù)據(jù)庫。
3.mysql_query('Set
names
gb2312');$sql
=
"select
*
from
blog_article";準備要查詢的數(shù)據(jù)。
4.$datas
=
mysql_query($sql);執(zhí)行sql查詢。
5.$data
=
mysql_fetch_assoc($datas)得到查詢到的緩存在內(nèi)存中的一條數(shù)據(jù)。
6.print_r($data);
相同點:三個函數(shù)都是返回數(shù)據(jù)庫中查詢到的一行數(shù)據(jù)(說的再清楚點就是一條數(shù)據(jù))。
不同點:mysql_fetch_assoc()用的是數(shù)據(jù)庫中相應的字段名作為的key值(也就是數(shù)組下標)
如:filed['id']=1;
mysql_fetch_row()用的是自動生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標)
如:filed[0]=1;
mysql_fetch_array()用的是自動生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標),而且它還同時生成數(shù)據(jù)庫中相應的字段名作為的key值(也就是數(shù)組下標)
如:
filed[0]=1,filed['id']=1;也就是說,mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結(jié)果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數(shù)組。mysql_fetch_object()返回的是object對象。
mysql_insert_id() 取得上一步
INSERT
操作產(chǎn)生的
ID。
mysql_result()
函數(shù)返回結(jié)果集中一個字段的值。
mysql_num_fields()
函數(shù)返回結(jié)果集中字段的數(shù)目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數(shù)。
mysql_num_rows(mysql_query($sql))獲得結(jié)果集中行的數(shù)目。
mysql_pconnect()
函數(shù)打開一個到
MySQL
服務器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個主要區(qū)別:
1.
當連接的時候本函數(shù)將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經(jīng)打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。
2.
其次,當腳本執(zhí)行完畢后到
SQL
服務器的連接不會被關閉,此連接將保持打開以備以后使用(mysql_close()
不會關閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結(jié)果集中的第8條數(shù)據(jù)。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會緩存查詢的結(jié)果。
mysql_close();關閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個字段的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數(shù)據(jù)的所有字段的每個字段的長度。返回的是一個數(shù)字組成的數(shù)組。
mysql_field_name(mysql_query($sql),3)返回第三個字段的字段名。
mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名。
mysql_free_result(mysql_query($sql))
函數(shù)釋放結(jié)果內(nèi)存。
mysql_get_client_info()
函數(shù)返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機信息。
PHP向MySQL數(shù)據(jù)庫中寫入數(shù)據(jù)有三個步驟:
1,PHP和MySQL建立連接關系
2,打開MySQL數(shù)據(jù)庫
3,接受頁面數(shù)據(jù),PHP錄入到指定的表中
1、2兩步可直接使用一個數(shù)據(jù)庫鏈接文件即可:conn.php
代碼如下
?php
mysql_connect("localhost","root","");//連接MySQL
mysql_select_db("hello");//選擇數(shù)據(jù)庫
?
當然,前提是已經(jīng)安裝WEB服務器、PHP和MySQL,并且建立MySQL表“cnbruce”
mysql_connect()中三個參數(shù)分別為MySQL地址、MySQL用戶名和MySQL密碼
然后就是通過WEB頁面?zhèn)鬟f數(shù)據(jù),讓PHP通過SQL語句將數(shù)據(jù)寫入MySQL數(shù)據(jù)庫指定的表中,比如新建文件 post.php
代碼如下
?php
require_once("conn.php");//引用數(shù)據(jù)庫鏈接文件
$uname = $_GET['n'];//GET方法為URL參數(shù)傳遞
$psw = $_GET['p'];
$psw=md5($psw);//直接使用MD5加密
$sql = "insert into members(username,password) values ('$uname','$psw')";
mysql_query($sql);//借SQL語句插入數(shù)據(jù)
mysql_close();//關閉MySQL連接
echo "成功錄入數(shù)據(jù)";
?
測試頁面: ;p=i0514
即可向MySQL數(shù)據(jù)庫hello的members表中插入新的數(shù)據(jù)“cnbruce”到username字段、“i0514”到password字段
補充:讀取表
讀取表中的內(nèi)容,這里我們用while,可以根據(jù)具體情況,用for 或其他的.
代碼如下
while($row = mysql_fetch_array($result))
{
echo "div style="height:24px; line-height:24px; font-weight:bold;""; //排版代碼
echo $row['Topic'] . "br/";
echo "/div"; //排版代碼
名稱欄目:數(shù)據(jù)庫大作業(yè)php步驟 php作業(yè)總結(jié)
新聞來源:http://chinadenli.net/article20/hpsgco.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站設計、全網(wǎng)營銷推廣、手機網(wǎng)站建設、品牌網(wǎng)站建設、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)