PHP操做MySQL

1、PHP鏈接MySQL服務器php

  什麼是PHP的MySQL函數庫?mysql

    即一套PHP的函數庫擴展包,在PHP文件下的「ext/php_mysql.dll」sql

  配置PHP做爲MySQL服務器的客戶端:數據庫

    PHP配置文件php.ini中開啓「extension=php_mysql.dll」數組

2、PHP操做MySQL的函數庫步驟服務器

  ①鏈接數據庫服務器函數

    mysql_connect  打開一個鏈接(推薦)fetch

    mysql_pconnect  打開一個持久鏈接(不推薦)spa

    mysql_connect("$host","$username","$password");code

    鏈接成功返回MySQL鏈接標識符,鏈接失敗返回false

    例:

      $link=mysql_connect("localhost","root","1234");

  ②判斷是否鏈接成功

    if(!$link){

      exit("數據庫服務器鏈接失敗,錯誤信息:".mysql_error()."錯誤號:".mysql_errno());

    }

    mysql_error():返回上一步操做的錯誤信息

    mysql_errno():返回上一步操做的錯誤號

  ③設置客戶端字符集

    mysql_set_charset("utf8");

    mysql_query("set names utf8");

  ④選擇數據庫

    $db=mysql_select_db("$db_name" [,$link]);

    打開所鏈接的數據庫服務器中的指定數據庫,若不指定第二個鏈接參數,則默認打開最近的鏈接,成功返回true,失敗返回false

  ⑤準備SQL語句

    $sql="SQL語句";

    注:引號中的SQL語句無需以分號結束

  ⑥發送SQL語句

    $res=mysql_query($sql [,$link]);

    對於DQL查詢語句(select/explain/show/desc/describe)執行成功返回結果集資源,執行失敗返回false;對於其餘類型的sql語句,執行成功返回true,執行失敗返回false 

  ⑦處理結果

    if(!$res){

      echo "執行失敗,錯誤信息:".mysql_error();

    }else{

      echo "執行成功";

    }

    mysql_insert_id([$link]):獲取主鍵ID,即auto_increment的值

    mysql_affected_rows([$link]):獲取受影響數據條數(適用於增、刪、改)

    mysql_num_rows($res):獲取DQL查詢語句返回的結果集資源包含的數據條數

    mysql_fetch_array($res [,MYSQL_BOTH]):將結果集資源解析成索引和關聯的混合數組

      MYSQL_BOTH:可選參數,默認值,MYSQL_BOTH將獲得一個同時包含索引和關聯的混合數組;MYSQL_ASSOC將只獲得一個關聯數組,字段名做爲鍵名字段值做爲鍵值,做用同mysql_fetch_assoc();MYSQL_NUM將只獲得一個索引數組,做用同mysql_fetch_row();

    mysql_fetch_row($res):將結果集資源解析成索引數組

    mysql_fetch_assoc($res):將結果集資源解析成關聯數組,字段名做爲鍵名字段值做爲鍵值

    mysql_fetch_object($res):將結果集資源解析成對象

  ⑧關閉數據庫鏈接

    mysql_free_result($res);  釋放DQL查詢語句的關聯結果集資源

    mysql_close();

例1:

$link=mysql_connect("localhost","root",""); if(!$link){ exit("鏈接MySQL服務器失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno()); } mysql_set_charset("utf8"); $db=mysql_select_db("test01"); if(!$db){ exit("鏈接數據庫失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno()); } $sql="insert users(username,password,sex) values('autumn','1111',null)"; $res=mysql_query($sql); if($res && mysql_affected_rows()>0){ echo "成功添加了".mysql_affected_rows()."條數據"; }else{ echo "添加數據失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno(); } mysql_close();

例2:

$link=mysql_connect("localhost","root","") or die("鏈接數據庫服務器失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno()); mysql_set_charset("utf8"); $db=mysql_select_db("test01",$link) or die("鏈接數據庫失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno()); $sql="select * from users"; $res=mysql_query($sql,$link); if(!$res){ echo "查詢數據失敗,錯誤信息爲:".mysql_error()."錯誤號爲:".mysql_errno(); }elseif(mysql_num_rows($res)==0){ echo "當前數據表中無數據"; }else{ echo "<table border='1' width='800'>"; echo "<tr>"; echo "<td>id</td>"; echo "<td>username</td>"; echo "<td>password</td>"; echo "<td>sex</td>"; echo "</tr>"; while($data=mysql_fetch_assoc($res)){ echo "<tr>"; echo "<td>".$data['id']."</td>"; echo "<td>".$data['username']."</td>"; echo "<td>".$data['password']."</td>"; echo "<td>".$data['sex']."</td>"; echo "</tr>"; } echo "</table>"; } echo "<br>"; echo "共查詢到".mysql_num_rows($res)."條數據"; mysql_free_result($res); mysql_close();
相關文章
相關標籤/搜索