国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP操作MySQL數據庫的常用方法

2024-05-04 21:49:04
字體:
來源:轉載
供稿:網友

在php中操作mysql數據庫的方法有常用的三種,我們使用最多的估計是mysql或mysqli當然還有一個pdo_mysql了,下面整理了一些例子給各位參考.

一.mysql數據庫,代碼如下:

  1. $conn=mysql_connect("localhost""root""123456"or die("數據庫連接失敗"); 
  2. mysql_select_db("test"or die("選擇數據庫失敗");; 
  3. $sql="select * from user"
  4. $data=mysql_query($sql); 
  5. echo '<table border="1" align="center" width="800">' 
  6. while($row=mysql_fetch_assoc($result)){ 
  7. echo '<tr>';//開源代碼Vevb.com 
  8. foreach($row as $col){ 
  9. echo '<td>'.$col.'</td>'
  10. echo '</tr>'
  11. }; 
  12. echo '</table>'
  13. mysql_close(); 

補充,代碼如下:

  1.  // 從表中提取信息的sql語句 
  2. $strsql="SELECT * FROM `gbook`"
  3. // 執行sql查詢 
  4. $result=mysql_db_query($mysql_database$strsql$conn); 
  5. // 獲取查詢結果 
  6. $row=mysql_fetch_row($result); 
  7.  
  8.  
  9. echo '<font face="verdana">'
  10. echo '<table border="1" cellpadding="1" cellspacing="2">'
  11.  
  12. // 顯示字段名稱 
  13. echo "</b><tr></b>"
  14. for ($i=0; $i<mysql_num_fields($result); $i++) 
  15.   echo '<td bgcolor="#000F00"><b>'
  16.   mysql_field_name($result$i); 
  17.   echo "</b></td></b>"
  18. echo "</tr></b>"
  19. // 定位到第一條記錄 
  20. mysql_data_seek($result, 0); 
  21. // 循環取出記錄 
  22. while ($row=mysql_fetch_row($result)) 
  23.   echo "<tr></b>"
  24.   for ($i=0; $i<mysql_num_fields($result); $i++ ) 
  25.   { 
  26. echo '<td bgcolor="#00FF00">'
  27. echo $row[$i]; 
  28. echo '</td>'
  29.   } 
  30.   echo "</tr></b>"
  31.     
  32. echo "</table></b>"
  33. echo "</font>"
  34. // 釋放資源 
  35. mysql_free_result($result); 
  36. // 關閉連接 
  37. mysql_close($conn);  

二.pdo_mysql(推薦),連接代碼如下:

  1. $dsn = "mysql:host=localhost;dbname=test"
  2. $username = 'root'
  3. $password = '123456'
  4. $options = array
  5.    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
  6. ); 
  7.  
  8. $pdo = new PDO($dsn$username$password$options); 
  9. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
  10. 增: 

方法1:綁定關聯數組

  1. $str=$pdo->prepare("INSERT INTO `user` (`username`, `password`) VALUES (:username,:password)"); 
  2. $str->execute(array(":username"=>"test"":password"=>"passwd")); 

方法2:綁定索引數組

  1. $str=$pdo->prepare("INSERT INTO `user` (`username`, `password`) VALUES (?,?)");//開源代碼Vevb.com 
  2. $str->execute(array("test""passwd")); 
  3. //刪: 
  4.  
  5.  
  6. $str=$pdo->prepare("delete from user where id > 3"); 
  7. $str->execute(); 
  8.  
  9. //改: 
  10.  
  11. $str=$pdo->prepare("UPDATE `user` SET username=:username,password=:password where id=:id"); 
  12. $str->execute(array(":username"=>"test"":password"=>"passwd"":id"=>"3")); 

查:

  1. //方法1: 單個取出,循環遍歷,返回到數組 
  2.  
  3. $str=$pdo->prepare("select * from user where id > :id  order by id"); 
  4. $str->execute(array(":id"=>2)); 
  5. $str->setFetchMode(PDO::FETCH_ASSOC); 
  6. //共三種:1.PDO::FETCH_BOTH(默認)  2.FETCH_ASSOC  3.FTECH_NUM 
  7.  
  8. while($data=$str->fetch()){ 
  9. print_r($data); 
  10. echo '<br>'
  11.  
  12. //方法2: 全部取出,返回到二維數組 
  13.  
  14. $str=$pdo->prepare("select * from user order by fid"); 
  15. $str->execute(); 
  16. $data=$str->fetchAll(PDO::FETCH_NUM); 
  17. print_r($data); 
  18.  
  19. //方法3:單個取出,循環遍歷,綁定字段名到變量 
  20.  
  21.  
  22. $str=$pdo->prepare("select fid,username,password from user order by id"); 
  23. $str->execute(); 
  24.  
  25. $str->bindColumn("id",$id); 
  26. $str->bindColumn("username",$username); 
  27. $str->bindColumn(3,$password); 
  28.  
  29. while($str->fetch()){ 
  30. echo "$id | $username | $password <br>"
  31. echo "總記錄數:".$str->rowCount()."<br>"
  32. echo "總字段數:".$str->columnCount()."<br>"

二.mysqli,代碼如下:

用mysqli鏈接MYSQL數據庫

  1. requery_once("config.ini.php"); 
  2. $mysqliObj = new mysqli($dbhost,$dbuser,$dbpwd,$dbname); 
  3. if(mysqli_connect_errno()){ 
  4.  echo "連接失敗".mysqli_connect_error(); 
  5.  exit(); 
  6. $mysqliObj->query("set name $charName"); 

其他操作:

  1. //查詢 
  2. //----------------------------------------------------- 
  3. //(單條查詢) 
  4. $sql = "drop table  if exists user;"
  5. $mysqliObj->query($sql); 
  6.  
  7. //(多條查詢) 
  8. $musqliObj->multip_query($sql
  9.  
  10. //返回執行$sql受影響的行數() 
  11. ----------------------------------------------------  
  12. if($mysqliObj->query($sql)) 
  13. echo $mysqliObj->affected_rows; 
  14.  
  15. //insert 插入時,返回插入的id (很有用)  
  16. --------------------------------------------------- 
  17.  $num = $mysqliObj->insert_id; 
  18.  
  19. <?php 
  20. $mysqli=new mysqli("localhost""root""123456""test"); 
  21. $sql="select * from user  order by id"
  22. $result=$mysqli->query($sql); 
  23. echo '<table align="center" border="1" width="800">'
  24. while($row=$result->fetch_assoc()){ 
  25. echo '<tr>'
  26. foreach($row as $col){ 
  27. echo '<td>'.$col.'</td>'
  28. echo '</tr>'
  29. echo '</table>'
  30. $mysqli->close(); 
  31. ?> 

三種處理查詢結果,代碼如下:

  1. $sql = "select * from user"
  2.  $result = $mysqli->query($sql); 
  3.  
  4. //(1)fetch_row()   返回索引數組 
  5. fetch_row() 
  6. while(list($id,$name,$pwd)=$result->fetch_row()){ 
  7. echo "id: ".$id." name:".$name."  pwd:".$pwd."<br>"
  8.  
  9. //(2)fetch_assoc()  返回關聯數組 
  10. fetch_assoc() 
  11. while ($row = $result->fetch_assoc()){ 
  12.  echo "id:".$row["userId"]." name:".$row["userName"]."  pwd:".$row["password"]."<br>"
  13.  
  14. //(3)fetch_object()返回對象 
  15. while($row = $result->fetch_object()){ 
  16. echo "id:".$row->userId." name:".$row->uerName."  pwd:".$row->password."<br>"
  17.  
  18. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 安岳县| 弥渡县| 洛扎县| 瓮安县| 勐海县| 泗阳县| 灵寿县| 哈尔滨市| 黄平县| 盐边县| 嘉义县| 依安县| 上栗县| 玉门市| 新竹市| 桑日县| 罗源县| 曲周县| 习水县| 巫山县| 江达县| 尖扎县| 龙游县| 安塞县| 浮梁县| 永泰县| 东港市| 龙胜| 石柱| 蓝山县| 古蔺县| 黔西县| 神农架林区| 海盐县| 桂阳县| 崇阳县| 天全县| 汕尾市| 安庆市| 淳安县|