用PHP连接MySQL很常见。最常见的方法是这样的:
$sqlcon=mysql_connect("localhost","user","pw");
mysql_select_db('database');
$sqlcomm=mysql_query("SELECT id FROM bd");
while($row=mysql_fetch_row($sqlcomm))
{
//do something
}
mysql_close($sqlcon);
我认为这是最快的直接连接MySQL的方式。但是在项目中,php脚本中会出现过多的mysql连接,我们应该在每个php脚本中使用“mysql_connect("localhost","user","pw")"代码来连接mysql。所以你会喜欢在文件中构建一个 MySQL 类或函数来连接 MySQL:
function connect( $query )
{
$sqlcon=mysql_connect("localhost","user","pw");
mysql_select_db('database');
$sqlcomm=mysql_query($query);
while($row=mysql_fetch_row($sqlcomm))
{
//do something.
}
mysql_close($sqlcon);
}
然后使用 include() 连接到您的项目中。
include('connect.php');
$data = connect('SELECT id from db');
OK,这样代码就好看多了。但是使用include()函数会让PHP去读取和执行其他的php脚本文件,又是一次对硬盘的I/O操作,也会降低性能。
如果网页是100PV/s,php在第一种方法中会读取并执行一个php脚本100次/s,但在这种方法中会读取并执行200次/s的php脚本!
我在这里展示了一个仅针对一个查询的简单示例。尝试想象一个高网络多查询环境。
有没有人有其他更好的方法可以使 MySQL 连接更简单、更高效?
最佳答案
你真的不需要打开那么多连接。您只需在脚本开始时打开 1 个连接(比方说,在生成 <body>
之前),然后在脚本结束时关闭它(比方说,在生成 </body>
之后)。这使您只有 1 个连接。在此期间,您可以根据需要执行任意数量的查询。
关于php - 从 PHP 连接 MySQL 的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499815/