Maison  >  Article  >  développement back-end  >  Comment PHP exploite-t-il MySQL pour obtenir les résultats des requêtes ?

Comment PHP exploite-t-il MySQL pour obtenir les résultats des requêtes ?

coldplay.xixi
coldplay.xixioriginal
2020-07-23 14:59:433266parcourir

Comment utiliser PHP pour faire fonctionner MySQL afin d'obtenir les résultats de la requête : 1. Utilisez la fonction [mysql_fetch_array($rs,MYSQL_ASSOC)] ; 2. Utilisez la fonction [mysql_fetch_array($rs,MYSQL_BOTH);] pour obtenir le tableau.

Comment PHP exploite-t-il MySQL pour obtenir les résultats des requêtes ?

Comment faire fonctionner MySQL avec PHP pour obtenir des résultats de requête :

1. ,MYSQL_ASSOC )

[@test01 model]# php test.php 
Array 
( 
 [name] => hellokitty 
 [addr] => i dont kno 
) 
[@test01 model]# more test.php 
<?php 
 $link=mysql_connect("10.12.136.181","hello","hello"); 
 if(!$link) 
  echo "没有连接成功!"; 
 mysql_select_db("hhhhh", $link); 
 $q = "SELECT * FROM hello"; 
 mysql_query("SET NAMES GB2312"); 
 $rs = mysql_query($q); 
 if(!$rs) 
 { 
  die("Valid result!"); 
 } 
 $result=mysql_fetch_array($rs,MYSQL_ASSOC); 
 print_r($result); 
 mysql_free_result($rs); 
?>

2.mysql_fetch_array($rs,MYSQL_BOTH); Obtenir le tableau

[@test01 model]# more test.php 
<?php 
 $link=mysql_connect("10.12.136.181","hello","hello"); 
 if(!$link) 
  echo "没有连接成功!"; 
 mysql_select_db("hhhhh", $link); 
 $q = "SELECT * FROM hello"; 
 mysql_query("SET NAMES GB2312"); 
 $rs = mysql_query($q); 
 if(!$rs) 
 { 
  die("Valid result!"); 
 } 
 $result=mysql_fetch_array($rs,MYSQL_ASSOC); 
 print_r($result); 
 mysql_free_result($rs); 
?> 
[@test01 model]# vim test.php 
[@test01 model]# php test.php 
Array 
( 
 [0] => hellokitty 
 [name] => hellokitty 
 [1] => i dont kno 
 [addr] => i dont kno 
) 
[@test01 model]#

3.mysql_fetch_array($rs,MYSQL_NUM) Obtenir le tableau

[@test01 model]# php test.php 
Array 
( 
 [0] => hellokitty 
 [1] => i dont kno 
) 
[@test01 model]# more test.php 
<?php 
 $link=mysql_connect("10.12.136.181","hello","hello"); 
 if(!$link) 
  echo "没有连接成功!"; 
 mysql_select_db("hhhhh", $link); 
 $q = "SELECT * FROM hello"; 
 mysql_query("SET NAMES GB2312"); 
 $rs = mysql_query($q); 
 if(!$rs) 
 { 
  die("Valid result!"); 
 } 
 $result=mysql_fetch_array($rs,MYSQL_NUM); 
 print_r($result); 
 mysql_free_result($rs); 
?> 
[@test01 model]#

Ce qui suit est un supplément :

Plusieurs méthodes pour obtenir des ensembles de résultats en php

<?php 
 $conn=mysql_connect("localhost","root",""); 
 $select=mysql_select_db("books",$conn); 
  $query="insert into computers(name,price,publish_data) "; 
 $query.="values(&#39;JSP&#39;,28.00,&#39;2008-11-1&#39;)"; 
 $query="select * from computers"; 
 $result=mysql_query($query); 
  //以下是使用mysql_result()函数来获取到查询结果 
 $num=mysql_num_rows($result); 
 for($rows_count=0;$rows_count<$num;$rows_count++){ 
 echo "书名:".mysql_result($result,$rows_count,"name"); 
 echo "价格:".mysql_result($result,$rows_count,"price"); 
 echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."<br>"; 
 } 
  //以下是使用mysql_fetch_row()函数来获取到查询结果 
  while($row=mysql_fetch_row($result)) 
 { 
 echo "书号:".$row[0]."<br>"; 
 echo "书名:".$row[1]."<br>"; 
 echo "价格:".$row[2]."<br>"; 
 echo "出版日期:".$row[3]."<br>"; 
 echo "<br>"; 
 } 
 //以下是使用mysql_fetch_array()函数来获取到查询结果 
 while($row=mysql_fetch_array($result)) 
 { 
 echo "书号:".$row[0]."<br>"; 
 echo "书名:".$row[1]."<br>"; 
 echo "价格:".$row["price"]."<br>"; 
 echo "出版日期:".$row["publish_data"]."<br>"; 
 echo "<br>"; 
 }
 
//mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一样
 
while($row = mysql_fetch_assoc($res)){
 
 echo $row[&#39;price&#39;].&#39;::&#39;.$row[&#39;publish_data&#39;].”;
} //$row[0]不能取值
 
 //以下是使用mysql_fetch_object()函数来获取到查询结果 
 while($row=mysql_fetch_object($result)) 
 { 
 echo "书号:".$row->id."<br>"; 
 echo "书名:".$row->name."<br>"; 
 echo "价格:".$row->price."<br>"; 
 echo "出版日期:".$row->publish_data."<br>"; 
 echo "<br>";  
 } 
?>

Comparaison complète

Cette section présente principalement les quatre fonctions permettant d'obtenir des ensembles de résultats de requête, et elles sont comparées de manière exhaustive ici.

  • mysql_result() : L'avantage est qu'il est facile à utiliser ; l'inconvénient est qu'il a peu de fonctions. Une seule ligne d'enregistrements dans l'ensemble de données de résultat peut être obtenue en une seule fois. appel, ce qui est inefficace pour les bases de données plus volumineuses.

  • mysql_fetch_row() : L'avantage est que l'efficacité d'exécution est la plus élevée parmi les quatre méthodes ; l'inconvénient est que seuls les nombres peuvent être utilisés comme index d'attribut pour obtenir les valeurs d'attribut, ce qui est très facile de semer la confusion lors de son utilisation.

  • mysql_fetch_array() : L'efficacité d'exécution est également très élevée, presque la même que mysql_fetch_row(), et la valeur de l'attribut peut être obtenue directement en utilisant le nom de l'attribut, elle est donc le plus souvent utilisé dans des applications pratiques.

  • mysql_fetch_object() : Il adopte une pensée orientée objet et est plus avancé dans les idées de conception. Si les lecteurs sont habitués à écrire des programmes avec des idées orientées objet, ils le choisiront naturellement. Deuxièmement, l’avantage de cette méthode est que les résultats des données ayant une structure plus complexe sont logiquement plus clairs.

Ce que les trois dernières fonctions ont en commun, c'est qu'elles obtiennent toutes les données de la ligne actuelle puis glissent automatiquement vers la ligne suivante. Parfois, vous souhaitez contrôler le nombre de lignes à faire glisser. Une fonction qui est souvent utilisée ensemble est mysql_data_seek(), qui est définie comme :

int mysql_data_seek(int result_identifier,int row_number)

Appelez cette fonction pour faire glisser row_number lignes vers l'arrière dans le résultat. set, comme indiqué ci-dessous Lorsque la fonction mysql_fetch_* est appelée une fois, les enregistrements après avoir fait glisser la ligne row_number vers l'arrière seront lus.

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn