php查詢數據有6個步驟,分別為:
- 連接數據庫服務器,使用的命令為:mysql_connect("服務器名稱","用戶名","密碼")
- 選擇數據庫,使用的命令為:mysql_select_db("數據庫的名稱[可選的資源號,也就是第一步的變量名 $conn]")
- 執行sgl語句,使用的命令為:mysql_query(sql語句);
- 獲取執行結果,並把獲取到的數據存放在一個數組中,使用的命令為:mysql_fetch_array(),會返回多行,因此要使用while循環
- 關閉數據連接,使用的命令為:mysql_close(連接服務器的變量)
- 將結果轉換為JSON格式,並輸出到客戶端,使用的命令為:json_encode(第4步中定義的數組變量)
代碼分析:
<?php //php接口的寫法,php訪問mysql數據庫的基本步驟,獲取用戶 //1 連接數據庫服務器: mysql_connect("服務器名稱","用戶名","密碼");or die("前面語句執行不成功后返回的信息".mysql_error()); //.mysql_error() 這個函數的意思是什么原因導致前面的sql語句執行失敗 $conn = mysql_connect("localhost","root","root") or die("connect fieled!".mysql_error()); //防止中文亂碼 mysql_query("SET NAMES UTF8"); //2 選擇數據庫: mysql_select_db("數據庫的名稱[可選的資源號,也就是第一步的變量名 $conn]"),返回值為true / false $select = mysql_select_db("test",$conn) or die("select db failed!".mysql_errno()); //3 執行sql語句:mysql_query 可以在php中執行sql語句,先在數據庫中執行這個語句,看是否能查出數據來 $sql = "select * from t_user"; //從表t_user中選擇 $result = mysql_query($sql); //4 獲取執行結果: mysql_fetch_array(),會返回多行,因此要使用while循環,把返回的$result這個數組,按每次讀一行顯示 $array = array(); //自定義一個數組,存放數據 $i = 0; //初始數據為 0 while ($row = mysql_fetch_array($result)){ //從返回到$row中所有的數據中取出需要的字段,並把它儲存在數組$array中 $array[$i]["user_id"] = $row["user_id"]; $array[$i]["user_phone"] = $row["user_phone"]; $array[$i]["user_name"] = $row["user_name"]; //所有的數據都累加顯示 $i ++; } //5 關閉數據庫連接:mysql_close(連接到數據庫的變量) mysql_close($conn); //6 將結果轉換為JSON輸出到客戶端 $json = json_encode( //array()是組織要顯示的數據結構 array( "resultCode"=>200, "message"=>"success", "data"=>$array ) ); //轉換為JSON echo ($json); //顯示在客戶端 ?>
總結:
<?php $conn = mysql_connect("localhost","root","root") or die("connect fieled!".mysql_error()); //防止中文亂碼 mysql_query("SET NAMES UTF8"); $select = mysql_select_db("test",$conn) or die("select db failed!".mysql_errno()); $sql = "select * from t_user"; //從表t_user中選擇 $result = mysql_query($sql); $array = array(); //自定義一個數組,存放數據 $i = 0; //初始數據為 0 while ($row = mysql_fetch_array($result)){ //從返回到$row中所有的數據中取出需要的字段,並把它儲存在數組$array中 $array[$i]["user_id"] = $row["user_id"]; $array[$i]["user_phone"] = $row["user_phone"]; $array[$i]["user_name"] = $row["user_name"]; //所有的數據都累加顯示 $i ++; } mysql_close($conn); $json = json_encode( //array()是組織要顯示的數據結構 array( "resultCode"=>200, "message"=>"success", "data"=>$array ) ); //轉換為JSON echo ($json); //顯示在客戶端 ?>
得寫個函數。
新手一枚,如果有更好的方法,歡迎交流。