[英]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.