第11章 使用PHP從Web訪問MySQL資料庫

2022-08-20 08:18:08 字數 1996 閱讀 6362

1.過濾使用者可能值其搜尋條件的起始或結束位置不小心輸入的空白字元: 應用trim();

2.轉義資料(第4章)函式:addslashes(),stripslashes(),get_magic_quotes_gpc();

3.在指令碼中連線mysql伺服器:mysqli(…,…,…,…);

//物件導向的方法(例項化乙個物件)

@ $db=new mysqli(『localhost』,』bookorama』,』bookorama123』,』books』);

//面向過程的方式

@ $db=mysqli_connect(『localhost』,』bookorama』,』bookorama123』,』books』);

//測試連線的結果的函式:mysqli_connect_errno()

4.從web連線資料庫:

mysqli_select_db(db_resource, db_name);

或 $db->select_db(dbname);

5\.查詢資料庫:

$result=$db->query($query);  //物件導向版本

$result=mysqli_query($db,$query);   //面向過程版本

6.返回記錄行的行數:

$num_results=$result->num_rows;  //物件導向版本

$num_results=mysqli_num_rows($result);  //面向過程版本

7.$row=$result->fetch_assoc();  //物件導向版本

$row=mysqli_fetch_assoc($assoc);  //面向過程版本

然後通過$row[『title』],$row[『author』]等來訪問每個屬性;

②獲取一行並取回到乙個物件中:

$row=$result->fetch_object();  或 $row=mysqli_fetch_object($result);

然後通過$row->title,$row->author等來訪問每個屬性;

8.從資料庫斷開連線:

①釋放結果集: $result->free(); 或 mysqli_free_result($result);

②關閉與資料庫的連線:$db->close(); 或 mysqli_close($db);

9.prepared語句:

①查詢速度更快,可免受sql注射風格的攻擊;

②基本思想:向mysql傳送乙個需要執行的查詢模板,然後再單獨傳送資料;

如:  【insert插入操作:用prepare繫結引數】

$query=」insert into books values(?,?,?,?)」;  //查詢模板

$stmt=$db->prepare($query);  //構建需要用來完成實際處理的資源

$stmt->bind_param(「sssd」,$isbn,$author,$title,$price);

//bind_param()告訴php哪些變數應該被問號所替換

//第乙個引數(這裡是」sssd」)是乙個格式化字串

//sssd:所傳遞的四個引數分別是字串、字串、字串、雙精度

//s:字串  d:雙精度  i:整數  b:blob

//過程版本中是mysqli_stmt_bind_param()

$stmt->execute();  //呼叫execute()函式時才真正執行此查詢

//過程版本中是mysqli_stmt_execute()

【select選擇操作:用prepare繫結結果】

$stmt->bind_result($isbn,$author,$title,$price);  //提供希望填充結果列的變數列表

//mysqli_stmt_bind_result()

$stmt->execute();

//然後在迴圈中呼叫如下語句:

$stmt->fetch();  //fetch()將獲得依次獲得乙個結果行,並填充到繫結變數中

使用PHP從web訪問mysql資料庫

一.web資料庫構架的工作原理 1.使用者由瀏覽器發出http請求,請求特定的web頁面。2.web伺服器接受接收到對特定頁面的請求,檢索相應檔案,並將其傳遞給php引擎處理。3.php引擎開始解析指令碼,指令碼主要包括,連線到資料庫和執行查詢命令 4.mysql資料庫接收到對資料庫查詢的請求,處理...

第11章 使用類

1.運算子過載 未使用過載的例子 include using namespace std class time time time time time int h,int m void time addmin int m void time addhr int h void time reset i...

第11章 使用類

關於c 說一句 不要覺得必須使用所有特性,不要在試圖使用所有特性。只要滿足需求即可。c 是工具。少有人敢說精通c 運算子過載 就是讓運算子能夠像操作基本型別一樣操作自己定義的類。過載運算子就把運算子看成函式名就好了 operator 這個就當做函式名。然後利用的時候就kobe james就好了。看本...