Home >Backend Development >PHP Problem >How does php operate mysql to obtain query results?
How to use PHP to operate mysql to obtain query results: 1. Use the [mysql_fetch_array($rs,MYSQL_ASSOC)] function; 2. Use the [mysql_fetch_array($rs,MYSQL_BOTH);] function to obtain the array.
How to operate mysql in php to obtain query results:
1. mysql_fetch_array($rs,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);Get the array
[@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) Get the array
[@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]#
The following is a supplement:
php several methods to obtain the result set
<?php $conn=mysql_connect("localhost","root",""); $select=mysql_select_db("books",$conn); $query="insert into computers(name,price,publish_data) "; $query.="values('JSP',28.00,'2008-11-1')"; $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['price'].'::'.$row['publish_data'].”; } //$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>"; } ?>
Comprehensive comparison
This section mainly introduces the four functions for obtaining the query result set, and they are comprehensively compared here.
mysql_result()
: The advantage is that it is easy to use; the disadvantage is that it has few functions. One call can only obtain one row of records in the result data set. For larger databases Less efficient.
mysql_fetch_row()
: The advantage is that the execution efficiency is the highest among the four methods; the disadvantage is that only numbers can be used as attribute indexes to obtain attribute values. It's very easy to get confused.
mysql_fetch_array()
: The execution efficiency is also very high, almost the same as mysql_fetch_row(), and the attribute value can be obtained directly using the attribute name. Therefore, in Most commonly used in practical applications.
mysql_fetch_object()
: It adopts object-oriented thinking and is more advanced in design ideas. If readers are used to writing programs with object-oriented ideas, then It would be a natural choice. Secondly, the advantage of this method is that the data results with a more complex structure are logically clearer.
What the last three functions have in common is that they all obtain the data of the current row and then automatically slide to the next row. Sometimes, you want to control the number of rows to slide. A function that is often used together is mysql_data_seek()
, which is defined as:
int mysql_data_seek(int result_identifier,int row_number)
Call this function to slide backwards in the result set row_number
rows, the next time the mysql_fetch_*
function is called, the records after sliding the row_number
rows backward will be read.
Related learning recommendations: PHP programming from entry to proficiency
The above is the detailed content of How does php operate mysql to obtain query results?. For more information, please follow other related articles on the PHP Chinese website!