簡體   English   中英

PHP中的mysql_query函數

[英]mysql_query function in php

<?php 
  $con= mysql_connect("localhost","root","mysql");
  mysql_select_db("Db_name",$con);

  $res=mysql_query("select *from table_name");

  mysql_close($con);   // closing connection before fetching contents.

  while($r=mysql_fetch_array($res)) {
    echo $r['ename'];
  }

?>

即使我在從表中獲取內容之前關閉了連接,該程序仍然有效。

為了從$res連接獲取表內容是沒有必要的?

$res只是一個程序變量嗎? 如果是這樣,它將使用哪種數據結構(關聯數組?)

在oracle中,我們有隱式游標和顯式游標。 mysql中有什么等效的東西嗎?

在上面的程序中,光標出現在哪里?

在您的情況下, $res是一種特殊的類型,稱為“資源”。 簡而言之,它是mysql_fetch_ *函數運行的返回數據的集合。 因此,它可以超越連接。 查看文檔以獲取更多詳細信息。

在對mysql_query()的調用返回之前,MySQL客戶端庫將獲取整個結果集,這說明了代碼為何起作用。

您可以使用mysql_unbuffered_query()增量獲取行, 在這種情況下,必須保持連接打開

請注意,獲取行是在MySQL客戶端代碼中處理的。 $res只是一個不透明的資源類型 ,代表一個內部結果集對象(是否緩沖)。 您只能通過將該資源傳遞給其他MySQL函數來對其進行操作。

為了從$ res連接獲取表內容是沒有必要的?

你為什么不試試看?

無論如何,手動關閉連接的原因是什么?

$ res只是一個程序變量嗎? 如果是這樣,它將使用哪種數據結構(關聯數組?

是的,它是一個變量。 您可以看到var_dump($res);里面有什么var_dump($res);

在oracle中,我們有隱式游標和顯式游標.mysql中是否有任何等效的東西? 在上面的程序中,光標出現在哪里?

您要解決什么確切的任務?

正如jason所說,$ res就像Resource類型的普通變量一樣。 該變量即使在關閉mysql連接后仍保持其值,因為它與mysql連接沒有連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM