PHP操作MySQL的常用代碼段梳理與總結(jié)
這篇文章為大家介紹,實(shí)用的PHP網(wǎng)站實(shí)際開發(fā)中常用到的操作mysql數(shù)據(jù)庫的代碼段,所有代碼均可靠執(zhí)行,此文將持續(xù)更新?。?!
1、向數(shù)據(jù)庫插入數(shù)據(jù)表
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("【數(shù)據(jù)庫名】", $con);//選擇MySQL數(shù)據(jù)庫
$sql = "CREATE TABLE abc
(
id int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
openid varchar(32),
nickname varchar(32),
sex varchar(8)
)";//創(chuàng)建名稱為abc的數(shù)據(jù)表,id不能為空且自動(dòng)遞增并設(shè)置為主鍵
mysql_query($sql,$con);//執(zhí)行一條MySQL語句
mysql_close($con);//關(guān)閉mysql連接
?>
2、向數(shù)據(jù)庫表中插入新記錄
<?php
$datatime = date("Y-m-d H:i:s",time());//獲取時(shí)間
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("【數(shù)據(jù)庫名】", $con);//選擇MySQL數(shù)據(jù)庫
mysql_query("SET NAMES 'UTF8'");//設(shè)置編碼(解決插入中文亂碼的問題)
mysql_query("INSERT INTO 【數(shù)據(jù)表名】 (openid, add_time, nickname)
VALUES ('123', '$datatime', 'abc')");//插入新記錄
mysql_close($con);//關(guān)閉mysql連接
?>
3、讀取數(shù)據(jù)表的所有內(nèi)容
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","數(shù)【據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("【數(shù)據(jù)庫名】", $con);//選擇MySQL數(shù)據(jù)庫
$result = mysql_query("SELECT * FROM 【數(shù)據(jù)表名】");//獲取數(shù)據(jù)表的所有數(shù)據(jù)
while($row = mysql_fetch_array($result)){//從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,如何沒有更多行則返回false
echo $row['openid']."
";//輸出表中所有openid字段的值
}
mysql_close($con);//關(guān)閉mysql連接
?>
4、讀取數(shù)據(jù)表的匹配數(shù)據(jù)
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("【數(shù)據(jù)庫名】", $con);//選擇MySQL數(shù)據(jù)庫
$result = mysql_query("SELECT * FROM 【數(shù)據(jù)表名】 WHERE openid='123'");//獲取數(shù)據(jù)表的openid=123的數(shù)據(jù)行
while($row = mysql_fetch_array($result)){//從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,如何沒有更多行則返回false
echo $row['nickname']."
";//輸出表中所有openid字段的值
}
mysql_close($con);//關(guān)閉mysql連接
?>
5、修改數(shù)據(jù)庫表中的數(shù)據(jù)
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("【數(shù)據(jù)庫名】", $con);//選擇MySQL數(shù)據(jù)庫
mysql_query("UPDATE 【數(shù)據(jù)表名】 SET nickname='new' WHERE openid='123'");//更新id=123記錄行的nickname字段
mysql_close($con);//關(guān)閉mysql連接
?>
6、從數(shù)據(jù)表中刪除記錄
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("數(shù)據(jù)庫名", $con);//選擇MySQL數(shù)據(jù)庫
mysql_query("DELETE FROM 數(shù)據(jù)表名 WHERE openid='123'");//刪除openid=123的一行記錄
mysql_close($con);//關(guān)閉mysql連接
?>
7、從數(shù)據(jù)庫刪除數(shù)據(jù)表
<?php
$con = mysql_connect("【數(shù)據(jù)庫地址】","【數(shù)據(jù)庫用戶名】","【數(shù)據(jù)庫密碼】");//創(chuàng)建MySQL連接
mysql_select_db("數(shù)據(jù)庫名", $con);//選擇MySQL數(shù)據(jù)庫
$sql = "DROP TABLE abc";//刪除名為abc的數(shù)據(jù)表
mysql_query($sql,$con);//執(zhí)行一條MySQL語句
mysql_close($con);//關(guān)閉mysql連接
?>
PHP 數(shù)據(jù)對(duì)象(PDO)擴(kuò)展為PHP訪問數(shù)據(jù)庫定義了一個(gè)輕量級(jí)的一致接口。提供了一個(gè)數(shù)據(jù)訪問抽象層,這意味著,不管使用哪種數(shù)據(jù)庫,都可以用相同的函數(shù)(方法)來查詢和獲取數(shù)據(jù)。
PDO隨PHP5.1發(fā)行,在PHP5.0的PECL擴(kuò)展中也可以使用,無法運(yùn)行于之前的PHP版本。
下面以一個(gè)示例來說明PDO用法:
<?php
$host = "【數(shù)據(jù)庫地址】";
$username = "【數(shù)據(jù)庫用戶名】";
$password = "【數(shù)據(jù)庫密碼】";
$dbname = "【數(shù)據(jù)庫名】";
//將要執(zhí)行的代碼放入try塊中,如果這些代碼執(zhí)行過程中某一條語句發(fā)生異常,則程序直接跳轉(zhuǎn)到catch塊中,由$e收集錯(cuò)誤信息和顯示。
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);//創(chuàng)建連接
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //設(shè)置 PDO 錯(cuò)誤模式,用于拋出異常
$sql = "CREATE TABLE abc (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
openid varchar(32) NOT NULL,
nickname varchar(32) NOT NULL,
sex varchar(8) NOT NULL
)";//創(chuàng)建名稱為abc的數(shù)據(jù)表,id不能為空且自動(dòng)遞增并設(shè)置為主鍵
$conn->exec($sql);//使用exec()沒有結(jié)果返回
}
catch(PDOException $e){
echo $sql . "
" . $e->getMessage();//顯示異常信息
}
$conn = null;//關(guān)閉連接
?>
如果環(huán)境允許,盡可能去使用PDO來進(jìn)行MySQL數(shù)據(jù)庫操作。
到此這篇關(guān)于PHP操作MySQL的常用代碼段梳理與總結(jié)的文章就介紹到這了,更多相關(guān)PHP 操作 MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP關(guān)于IE下的iframe跨域?qū)е聅ession丟失問題解決方法
一個(gè)登錄頁面,被別的網(wǎng)站用iframe嵌進(jìn)去后,死活無法登錄(只在IE中存在這種情況)。主要是session無法被保存的問題,下面把個(gè)人的解決過程分享個(gè)大家2013-10-10
PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之四 簡(jiǎn)化條件表達(dá)式
條件邏輯有可能十分復(fù)雜,因此本章提供一些重構(gòu)的手法,專門用來簡(jiǎn)化它們2012-04-04
PHP保存session到memcache服務(wù)器的方法
這篇文章主要介紹了PHP保存session到memcache服務(wù)器的方法,涉及PHP操作session及memcache的相關(guān)技巧,需要的朋友可以參考下2016-01-01
Zend Studio for Eclipse的java.lang.NullPointerException錯(cuò)誤的解決方
Zend Studio for Eclipse 6.x 可以算得上是最好的PHP的IDE了.2008-12-12
PHP解析目錄路徑的3個(gè)函數(shù)總結(jié)
這篇文章主要介紹了PHP解析目錄路徑的3個(gè)函數(shù)總結(jié),本文總結(jié)了basename、dirname、pathinfo3個(gè)函數(shù),它們分別處理路徑的不同部分,需要的朋友可以參考下2014-11-11
PHP自定義函數(shù)獲取URL中一級(jí)域名的方法
這篇文章主要介紹了PHP自定義函數(shù)獲取URL中一級(jí)域名的方法,涉及字符串與數(shù)組相關(guān)操作技巧,需要的朋友可以參考下2016-08-08
Laravel網(wǎng)站打開速度優(yōu)化的方法匯總
最近在學(xué)習(xí) Laravel 框架,自己做了個(gè)小站,總結(jié)了一些 Laravel 網(wǎng)站性能提升的方法。所以下面這篇文章主要給大家匯總介紹了關(guān)于Laravel網(wǎng)站打開速度優(yōu)化的一些方法,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07

