php中連接MySQL數(shù)據(jù)庫(kù)用到的接口定義如下:
目前創(chuàng)新互聯(lián)公司已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、許昌網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
?php
/*
* 建立連接, mysql_connect,打開(kāi)一個(gè)到MySQL服務(wù)器的連接,
* 失敗返回false,
* 成功返回一個(gè)MySQL連接標(biāo)識(shí)
*/
$db = mysql_connect("127.0.0.1","root","root123");
if(!$db){
die('連接建立錯(cuò)誤: ' . mysql_error());
}
if(!mysql_select_db("php")){//選擇數(shù)據(jù)庫(kù),成功返回true,失敗返回false
die('數(shù)據(jù)庫(kù)選擇錯(cuò)誤: ' . mysql_error());
}
$insertSQL = "insert into php values(4,'phpinsert')";//插入語(yǔ)句
$updateSQL = "update php set name='updatephp' where id = 4";//修改語(yǔ)句
$deleteSQL = "delete from php where id = 2";
/*
* 發(fā)送一條MySQL查詢(xún),僅對(duì)SELECT,SHOW,EXPLAIN,DESCRIBE語(yǔ)句返回一個(gè)資源標(biāo)識(shí)符,查詢(xún)不正確則返回false,
* 對(duì)于其它類(lèi)型的SQL語(yǔ)句,mysql_query()執(zhí)行成功時(shí)返回true,出錯(cuò)時(shí)返回false。
* 非false的返回值代表查詢(xún)時(shí)合法的并且能被服務(wù)器執(zhí)行,但并不表示影響到的行數(shù)或返回的行數(shù),
* 因?yàn)橐粭l查詢(xún)有可能執(zhí)行成功了但并不返回或者影響到任何行。
*/
$insertresult = mysql_query($insertSQL);
if($insertresult != false){//查詢(xún)成功
/*
* 取得最近一次與 link_identifier 關(guān)聯(lián)的 INSERT,UPDATE 或 DELETE 查詢(xún)所影響的記錄行數(shù)。
* 執(zhí)行成功則返回受影響的行的數(shù)目,如果最近一次查詢(xún)失敗的話(huà),函數(shù)返回 -1。
*/
$number = mysql_affected_rows();
echo "插入影響行數(shù):".$number."br /";
/*
* 取得上一步 INSERT 操作產(chǎn)生的 ID ,返回上一步 INSERT 查詢(xún)中產(chǎn)生的 AUTO_INCREMENT 的 ID 號(hào),
* 如果上一查詢(xún)沒(méi)有產(chǎn)生 AUTO_INCREMENT 的值,則 mysql_insert_id() 返回 0。
* 如果需要保存該值以后使用,要確保在產(chǎn)生了值的查詢(xún)之后立即調(diào)用 mysql_insert_id()。
* 此處由于沒(méi)有 AUTO_INCREMENT,所以返回0。
*/
echo mysql_insert_id()."br /";
}
$updateresult = mysql_query($updateSQL);
if($updateresult !=FALSE){//更新操作
$number = mysql_affected_rows();//大于0則成功
echo "更新影響行數(shù):".$number."br /";
}
$deleteresult = mysql_query($deleteSQL);
if($deleteresult !=FALSE){//更新操作
$number = mysql_affected_rows(); //大于0則成功
echo "刪除影響行數(shù):".$number."br /";
}
mysql_close($db);//關(guān)閉連接,成功返回true,失敗返回false。
?
不管什么語(yǔ)言寫(xiě)的接口,返回值基本都是json字符串,php 提供了json字符串轉(zhuǎn)換方法json_decode()將json字符串轉(zhuǎn)成php數(shù)組,也有json_encode()將php數(shù)組轉(zhuǎn)成json字符串
所以可以有
$result?=?接口返回?cái)?shù)據(jù);
$data?=?json_decode($result);//將接口返回的json字符串轉(zhuǎn)為php可用的數(shù)組
//接下來(lái)可以做拍簧片的數(shù)據(jù)重組操作??,一般是用foreach
foreach($data?as?$k=$v){
//$v在這里是單條數(shù)據(jù)集合,$k是該條記錄的位置(數(shù)組下標(biāo))
}
統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)接口PDO
PDO(PHP Data Objects) 擴(kuò)展為 PHP 訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的、一致性的接口,它提供了一個(gè)數(shù)據(jù)訪(fǎng)問(wèn)抽象層,這樣,無(wú)論使用什么數(shù)據(jù)庫(kù),用戶(hù)都可以通過(guò)統(tǒng)一的函數(shù)執(zhí)行來(lái)查詢(xún)和獲取數(shù)據(jù)。注意,你并不能使用 PDO 擴(kuò)展本身執(zhí)行任何數(shù)據(jù)庫(kù)操作,必須使用一個(gè) database-specific PDO driver (針對(duì)特定數(shù)據(jù)庫(kù)的 PDO 驅(qū)動(dòng))訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)服務(wù)器。
APP端沒(méi)有開(kāi)發(fā)過(guò),但是就像前端一樣,類(lèi)似 js中的ajax調(diào)用后端接口,只要后端寫(xiě)好然后json返回正確的格式就好。
要用javascript調(diào)用php獲取數(shù)據(jù)庫(kù)接口,是一個(gè)很常見(jiàn)的前后端交互操作
通過(guò)javascript發(fā)送http請(qǐng)求php的API接口,php連接數(shù)據(jù)庫(kù)并查詢(xún)結(jié)果,最后返回出來(lái)
這樣javascript就能獲取到數(shù)據(jù)庫(kù)的數(shù)據(jù)