PHP操作MySQL的常用代碼段梳理與總結(jié)
這篇文章為大家介紹,實用的PHP網(wǎng)站實際開發(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不能為空且自動遞增并設(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());//獲取時間
$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ù)對象(PDO)擴展為PHP訪問數(shù)據(jù)庫定義了一個輕量級的一致接口。提供了一個數(shù)據(jù)訪問抽象層,這意味著,不管使用哪種數(shù)據(jù)庫,都可以用相同的函數(shù)(方法)來查詢和獲取數(shù)據(jù)。
PDO隨PHP5.1發(fā)行,在PHP5.0的PECL擴展中也可以使用,無法運行于之前的PHP版本。
下面以一個示例來說明PDO用法:
<?php
$host = "【數(shù)據(jù)庫地址】";
$username = "【數(shù)據(jù)庫用戶名】";
$password = "【數(shù)據(jù)庫密碼】";
$dbname = "【數(shù)據(jù)庫名】";
//將要執(zhí)行的代碼放入try塊中,如果這些代碼執(zhí)行過程中某一條語句發(fā)生異常,則程序直接跳轉(zhuǎn)到catch塊中,由$e收集錯誤信息和顯示。
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);//創(chuàng)建連接
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //設(shè)置 PDO 錯誤模式,用于拋出異常
$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不能為空且自動遞增并設(shè)置為主鍵
$conn->exec($sql);//使用exec()沒有結(jié)果返回
}
catch(PDOException $e){
echo $sql . "
" . $e->getMessage();//顯示異常信息
}
$conn = null;//關(guān)閉連接
?>
如果環(huán)境允許,盡可能去使用PDO來進行MySQL數(shù)據(jù)庫操作。
到此這篇關(guān)于PHP操作MySQL的常用代碼段梳理與總結(jié)的文章就介紹到這了,更多相關(guān)PHP 操作 MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP關(guān)于IE下的iframe跨域?qū)е聅ession丟失問題解決方法
一個登錄頁面,被別的網(wǎng)站用iframe嵌進去后,死活無法登錄(只在IE中存在這種情況)。主要是session無法被保存的問題,下面把個人的解決過程分享個大家2013-10-10
PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計》之四 簡化條件表達式
條件邏輯有可能十分復(fù)雜,因此本章提供一些重構(gòu)的手法,專門用來簡化它們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錯誤的解決方
Zend Studio for Eclipse 6.x 可以算得上是最好的PHP的IDE了.2008-12-12
Laravel網(wǎng)站打開速度優(yōu)化的方法匯總
最近在學(xué)習(xí) Laravel 框架,自己做了個小站,總結(jié)了一些 Laravel 網(wǎng)站性能提升的方法。所以下面這篇文章主要給大家匯總介紹了關(guān)于Laravel網(wǎng)站打開速度優(yōu)化的一些方法,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07

