前言
本文為PHP與MySQL連接的一些基礎(chǔ)操作的總結(jié)。
連接MySQL服務(wù)器
連接成功---返回mysql連接標(biāo)識符
連接失敗---返回false
可用if判斷連接成功與否
//參數(shù)一:數(shù)據(jù)庫地址
//參數(shù)二:用戶名
//參數(shù)三:密碼
$con = mysql_connect('localhost','root','');
選擇數(shù)據(jù)庫
連接成功---返回true
連接失敗---返回false
//h12為數(shù)據(jù)庫名稱
mysql_select_db('h12');
數(shù)據(jù)庫操作
增
查詢成功---返回true
查詢失敗---返回false
//設(shè)置插入坦刀、讀出的語句為utf-8模式吞彤,以防止出現(xiàn)亂碼的情況。
mysql_query('set names utf8');
//mysql查詢語句
$sql = "insert into students(name,jobs,phone) values('單颯','18','123456789')";
//使用mysql_query來執(zhí)行sql語句
mysql_query($sql);
刪
mysql_query("delete from students where id=9);
改
使用update進(jìn)行修改
mysql_query("update students set jobs='sass' where id=9");
echo "修改成功曹动,共影響了".mysql_affected_rows($con).'行';//返回連接標(biāo)識符
查
mysql_fetch_row();獲取數(shù)據(jù)
//當(dāng)mysql_query執(zhí)行sql的select語句時(shí)斋日,如果執(zhí)行成功,返回資源標(biāo)識符
$query = mysql_query("select * from students");
//返回查詢到的資源的第一條數(shù)據(jù)
// print_r(mysql_fetch_row($query));
//mysql_fetch_row每執(zhí)行一次都從資源里面取一次數(shù)據(jù)墓陈,以數(shù)組的形式返回出來恶守。
//mysql_fetch_row每次取出的數(shù)據(jù)后都會指向下一條數(shù)據(jù),下一次取出的數(shù)據(jù)將會是下一條數(shù)據(jù)贡必。
//如果取到最后則返回空兔港,空則為false,則循環(huán)不再繼續(xù)仔拟。
//要遍歷所有的數(shù)據(jù)衫樊,可以利用while查詢所有的數(shù)據(jù)
while($row = mysql_fetch_row($query)){
print_r($row);
echo "<br />";
}
mysql_fetch_array();獲取數(shù)據(jù)
mysql_fetch_array()與mysql_fetch_row()的區(qū)別:
mysql_fetch_row()取一條數(shù)據(jù)產(chǎn)生一個(gè)索引數(shù)組
mysql_fetch_array()默認(rèn)狀態(tài)下取一條數(shù)據(jù)產(chǎn)生一個(gè)索引數(shù)組和一個(gè)關(guān)聯(lián)數(shù)組
$query = mysql_query("select * from students");
//關(guān)聯(lián)+索引數(shù)組
print_r(mysql_fetch_array($query));
print_r(mysql_fetch_array($query,MYSQL_BOTH));
//關(guān)聯(lián)數(shù)組
print_r(mysql_fetch_array($query,MYSQL_NUM));
//索引數(shù)組
print_r(mysql_fetch_array($query,MYSQL_ASSOC));
// 可以使用數(shù)組的方式訪問
$arr = mysql_fetch_array($query);
echo $arr['name'];
mysql_fetch_assoc();獲取數(shù)據(jù)
與mysql_fetch_array($query,MYSQL_ASSOC)效果一樣利花。
$query = mysql_query("select * from students");
//索引數(shù)組
print_r(mysql_fetch_assoc($query));
mysql_fetch_object();獲取數(shù)據(jù)
$query = mysql_query("select * from students");
$obj =mysql_fetch_object($query);
print_r($obj);
//訪問name
echo $obj->name;
mysql_num_rows();獲取行數(shù)
$query = mysql_query("select * from students");
//取得結(jié)果集的行數(shù)
echo mysql_num_rows($query);
mysql_result();獲取結(jié)果集中一個(gè)字段的值
//count(*)只獲取行數(shù)
$query = mysql_query("select count(*) from students");
//參數(shù)一:地址
//參數(shù)二:行號科侈,從0開始
//參數(shù)三:字段的名稱,偏移量
echo mysql_result($query,0);//獲取有多少行
$query = mysql_query("select * from students");
//輸出第二行的name值
echo mysql_result($query,1,'name');//參數(shù)三:字段的名稱(name)
echo mysql_result($query,1,1);//參數(shù)三:偏移量炒事,從0開始
關(guān)閉數(shù)據(jù)庫
關(guān)閉成功---返回true
關(guān)閉失敗---返回false
//關(guān)閉所有數(shù)據(jù)庫
mysql_close();
//如果有多個(gè)數(shù)據(jù)庫臀栈,則可以在括號中選擇需要關(guān)閉的數(shù)據(jù)庫
// mysql_close($con);
其它知識點(diǎn)
設(shè)置字符編碼
header("Content-type:text/html;charset=utf8");
獲取函數(shù)自增的id
$uid = mysql_insert_id();
錯(cuò)誤查詢
//返回上一個(gè)MySQL操作產(chǎn)生的文本錯(cuò)誤信息
echo mysql_error();
影響行數(shù)
// 返回前一次受Insert,update挠乳,delete影響的記錄的行數(shù)
mysql_query("update students set jobs='sass' where id=9");
echo "修改成功权薯,共影響了".mysql_affected_rows($con).'行';//返回連接標(biāo)識符
By : Yimi-shan