PHP를 사용하여 mysql을 작동하여 쿼리 결과를 얻는 방법: 1. [mysql_fetch_array($rs,MYSQL_ASSOC)] 함수를 사용합니다. 2. [mysql_fetch_array($rs,MYSQL_BOTH);] 함수를 사용하여 배열을 얻습니다.
MySQL을 사용하여 쿼리 결과를 얻는 방법:
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)
rreee3.mysql_fetch_array($rs,MYSQL_NUM) 배열 가져오기
[@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]#
다음은 보충입니다.
결과 세트를 가져오는 PHP의 여러 방법
[@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]#
종합적인 비교
이 섹션에서는 주로 쿼리 가져오기를 소개합니다. 결과 집합 4개 함수는 여기에서 포괄적으로 비교됩니다.
mysql_result()
: 장점은 사용하기 쉽다는 것입니다. 단점은 한 번의 호출로 결과 데이터 세트에서 한 행의 레코드만 얻을 수 있다는 것입니다. 대규모 데이터베이스에는 비효율적입니다. mysql_result()
:优点在于使用方便;而缺点在于功能少,一次调用只能获取结果数据集中的一行记录,对较大型的数据库效率较低。
mysql_fetch_row()
:优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆。
mysql_fetch_array()
:执行效率同样很高,同mysql_fetch_row()相差无几,并且可以用属性名方式直接获取得属性值,因此,在实际应用中最常用。
mysql_fetch_object()
:采用了面向对象的思想,在设计思路上更为先进,如果读者习惯于面向对象的思路来写程序,则会很自然的选择它。其次,该方法的优点还体现在,对于结构较为复杂的数据结果,在逻辑上显得更为清晰。
后3个函数的共同点在于,都是取得当前行的数据,然后自动滑向后一行。有时候,希望控制滑动的行数,这是常常搭配使用的一个函数是mysql_data_seek()
,其定义为:
<?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>"; } ?>
调用该函数可以在结果集中向后滑动row_number
行,在下一次调用mysql_fetch_*
函数时,读取的将是向后滑动row_number
🎜mysql_fetch_row()
: 장점은 네 가지 방법 중 실행 효율성이 가장 높다는 점입니다. 단점은 속성 값을 얻기 위한 속성 인덱스로 숫자만 사용할 수 있다는 점입니다. 그것을 사용할 때 혼란을 야기하기가 매우 쉽습니다.
mysql_fetch_array()
: 실행 효율성도 mysql_fetch_row()와 거의 동일할 정도로 매우 높으며, 속성명을 이용하여 속성값을 직접 얻을 수 있다. 일반적으로 사용되는 실용적인 응용 프로그램에 가장 적합합니다.
mysql_fetch_object()
: 객체지향적 사고를 채택하고 디자인 아이디어가 더욱 발전된 독자라면 객체지향적 아이디어로 프로그램을 작성하는 것이 자연스러울 것입니다. 선택하세요. 둘째, 이 방법의 장점은 더 복잡한 구조를 가진 데이터 결과가 논리적으로 더 명확하다는 것입니다. 🎜🎜마지막 세 함수의 공통점은 모두 현재 행의 데이터를 얻은 후 자동으로 다음 행으로 미끄러진다는 것입니다. 가끔 슬라이드할 행 수를 제어하고 싶을 때가 있습니다. 자주 함께 사용되는 함수는 mysql_data_seek()
이며 다음과 같이 정의됩니다. 🎜int mysql_data_seek(int result_identifier,int row_number)🎜결과 세트에서 뒤로 슬라이드하려면 이 함수를 호출하세요.
row_number
행, 다음에 mysql_fetch_*
함수가 호출되면 row_number
행을 뒤로 밀어낸 후의 레코드를 읽습니다. 🎜🎜🎜관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜위 내용은 PHP는 쿼리 결과를 얻기 위해 mysql을 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!