材料/工具:電腦、PHP
為企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、全網(wǎng)營銷推廣、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
1、首先,創(chuàng)建一個(gè)方法function來供調(diào)用。
2、先判斷id是否為0,為0則是不存在這條數(shù)據(jù)的。(假設(shè)判斷數(shù)據(jù)庫的數(shù)據(jù)是否存在相同id的數(shù)據(jù))
3、然后寫sql語句,能查詢對(duì)應(yīng)id的數(shù)據(jù)是否存在了。
4、然后調(diào)用查詢數(shù)據(jù)庫的方法,判斷返回來的結(jié)果是否為空。不為空則是數(shù)據(jù)已存在。
5、如果是判斷數(shù)據(jù)是否存在的關(guān)鍵字段是字符串的,我們稍為改一下代碼就行了,比如這里的,判斷email是否已經(jīng)存在于數(shù)據(jù)庫中。
6、我們這里的queryFirstColumn方法是封裝好的數(shù)據(jù)庫函數(shù)。
7、也可以將其改成一般的mysql_query的系統(tǒng)內(nèi)置方法來查詢的,代碼如圖。
php封裝好的mysql操作庫
類文件mysql.class.php:
?php
class Mysql{
//數(shù)據(jù)庫連接返回值
private $conn;
/**
* [構(gòu)造函數(shù),返回值給$conn]
* @param [string] $hostname [主機(jī)名]
* @param [string] $username[用戶名]
* @param [string] $password[密碼]
* @param [string] $dbname[數(shù)據(jù)庫名]
* @param [string] $charset[字符集]
* @return [null]
*/
function __construct($hostname,$username,$password,$dbname,$charset='utf8'){
$config = @mysql_connect($hostname,$username,$password);
if(!$config){
echo '連接失敗,請(qǐng)聯(lián)系管理員';
exit;
}
$this-conn = $config;
$res = mysql_select_db($dbname);
if(!$res){
echo '連接失敗,請(qǐng)聯(lián)系管理員';
exit;
}
mysql_set_charset($charset);
}
function __destruct(){
mysql_close();
}
/**
* [getAll 獲取所有信息]
* @param [string] $sql [sql語句]
* @return [array] [返回二維數(shù)組]
*/
function getAll($sql){
$result = mysql_query($sql,$this-conn);
$data = array();
if($result mysql_num_rows($result)0){
while($row = mysql_fetch_assoc($result)){
$data[] = $row;
}
}
return $data;
}
/**
* [getOne 獲取單條數(shù)據(jù)]
* @param [string] $sql [sql語句]
* @return [array] [返回一維數(shù)組]
*/
function getOne($sql){
$result = mysql_query($sql,$this-conn);
$data = array();
if($result mysql_num_rows($result)0){
$data = mysql_fetch_assoc($result);
}
return $data;
}
/**
* [getOne 獲取單條數(shù)據(jù)]
* @param [string] $table [表名]
* @param [string] $data [由字段名當(dāng)鍵,屬性當(dāng)鍵值的一維數(shù)組]
* @return [type] [返回false或者插入數(shù)據(jù)的id]
*/
function insert($table,$data){
$str = '';
$str .="INSERT INTO `$table` ";
$str .="(`".implode("`,`",array_keys($data))."`) ";
$str .=" VALUES ";
$str .= "('".implode("','",$data)."')";
$res = mysql_query($str,$this-conn);
if($res mysql_affected_rows()0){
return mysql_insert_id();
}else{
return false;
}
}
/**
* [update 更新數(shù)據(jù)庫]
* @param [string] $table [表名]
* @param [array] $data [更新的數(shù)據(jù),由字段名當(dāng)鍵,屬性當(dāng)鍵值的一維數(shù)組]
* @param [string] $where [條件,‘字段名’=‘字段屬性’]
* @return [type] [更新成功返回影響的行數(shù),更新失敗返回false]
*/
function update($table,$data,$where){
$sql = 'UPDATE '.$table.' SET ';
foreach($data as $key = $value){
$sql .= "`{$key}`='{$value}',";
}
$sql = rtrim($sql,',');
$sql .= " WHERE $where";
$res = mysql_query($sql,$this-conn);
if($res mysql_affected_rows()){
return mysql_affected_rows();
}else{
return false;
}
}
/**
* [delete 刪除數(shù)據(jù)]
* @param [string] $table [表名]
* @param [string] $where [條件,‘字段名’=‘字段屬性’]
* @return [type] [成功返回影響的行數(shù),失敗返回false]
*/
function del($table,$where){
$sql = "DELETE FROM `{$table}` WHERE {$where}";
$res = mysql_query($sql,$this-conn);
if($res mysql_affected_rows()){
return mysql_affected_rows();
}else{
return false;
}
}
}
?
使用案例:
?php
//包含數(shù)據(jù)庫操作類文件
include 'mysql.class.php';
//設(shè)置傳入?yún)?shù)
$hostname='localhost';
$username='root';
$password='123456';
$dbname='aisi';
$charset = 'utf8';
//實(shí)例化對(duì)象
$db = new Mysql($hostname,$username,$password,$dbname);
//獲取一條數(shù)據(jù)
$sql = "SELECT count(as_article_id) as count FROM as_article where as_article_type_id=1";
$count = $db-getOne($sql);
//獲取多條數(shù)據(jù)
$sql = "SELECT * FROM as_article where as_article_type_id=1 order by as_article_addtime desc limit $start,$limit";
$service = $db-getAll($sql);
//插入數(shù)據(jù)
$arr = array(
'as_article_title'='數(shù)據(jù)庫操作類',
'as_article_author'='rex',
);
$res = $db-insert('as_article',$arr);
//更新數(shù)據(jù)
$arr = array(
'as_article_title'='實(shí)例化對(duì)象',
'as_article_author'='Lee',
);
$where = "as_article_id=1";
$res = $db-update('as_article',$arr,$where);
//刪除數(shù)據(jù)
$where = "as_article_id=1";
$res = $db-del('as_article',$where);
?
class sqlHelper{ \x0d\x0a public $conn; \x0d\x0a public $dbname="數(shù)據(jù)庫名稱"; \x0d\x0a public $username="數(shù)據(jù)庫用戶名"; \x0d\x0a public $password="數(shù)據(jù)庫密碼"; \x0d\x0a public $host="localhost"; \x0d\x0a //連接數(shù)據(jù)庫 \x0d\x0a public function __construct(){ \x0d\x0a $this-conn=mysql_connect($this-host,$this-username,$this-password); \x0d\x0a if(!$this-conn){ \x0d\x0a die("連接失敗".mysql_error()); \x0d\x0a } \x0d\x0a mysql_select_db($this-dbname,$this-conn); \x0d\x0a } \x0d\x0a //執(zhí)行查詢語句 \x0d\x0a public function execute_dql($sql){ \x0d\x0a $res=mysql_query($sql,$this-conn); \x0d\x0a return $res; \x0d\x0a } \x0d\x0a //執(zhí)行增填改語句 \x0d\x0a public function execute_dml($sql){ \x0d\x0a $b=mysql_query($sql,$this-conn); \x0d\x0a if(!$b){ \x0d\x0a return 3; \x0d\x0a }else{ \x0d\x0a if(mysql_affected_rows($this-conn)){ \x0d\x0a return 1;//表示OK \x0d\x0a }else{ \x0d\x0a return 2;//表示沒有行收到影響 \x0d\x0a } \x0d\x0a } \x0d\x0a }\x0d\x0a}