繁体   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