Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP常量开放mysql连接安全?_Php_Mysql - Fatal编程技术网

PHP常量开放mysql连接安全?

PHP常量开放mysql连接安全?,php,mysql,Php,Mysql,我有一个网站,在每个页面的顶部都有一个打开mysql_connect连接的页面,这样我就不必在每次需要修改或将内容插入数据库时都打开连接。这是安全的,还是我应该在使用完后打开和关闭每个连接 require_once("../include/mysqlconn.php"); $sql = "SELECT * FROM blah"; $query = mysql_query($sql); 就我个人而言,我每次进行查询时都会创建一个新连接,然后关闭它。如果有多个数据库,如果保持打开状态,则可能会发

我有一个网站,在每个页面的顶部都有一个打开mysql_connect连接的页面,这样我就不必在每次需要修改或将内容插入数据库时都打开连接。这是安全的,还是我应该在使用完后打开和关闭每个连接

require_once("../include/mysqlconn.php");

$sql = "SELECT * FROM blah";
$query = mysql_query($sql);

就我个人而言,我每次进行查询时都会创建一个新连接,然后关闭它。如果有多个数据库,如果保持打开状态,则可能会发生冲突。

这是正常的,因为连接将在每次脚本执行结束时自动关闭(实际上,此时所有资源都已释放)

另一种可能是使用连接缓存,它可以为您提供连接缓存,并且可以稍微加快您的站点速度


无论哪种情况,只要密码保存在外部无法访问的地方,就不必担心安全问题。

关闭密码会更安全。您还可以在打开连接的每个页面的末尾包含一个关闭与mysql连接的页面。

这是一个非常糟糕的做法,因为它可能会降低服务器的速度。打开连接(通过TCP或UNIX套接字)会有一些开销。如果您有多个数据库或多个服务器,请相应地命名连接链接变量。在任何情况下,在只执行一个脚本的过程中保持连接打开都是可以的。我们讨论的开销是多少?如果只运行一个返回几行的简单查询,那么可能是,在DB服务器和应用程序之间交换2个数据包vs 7-8,这是针对每个请求的。当然,这取决于应用服务器的总体负载。虽然开销不大,但这仍然是一种不好的做法。你为每个查询打开if的理由真是荒谬。有趣。我自学了编程,所以我对偷听不到太多。我喜欢没有开放数据库连接的平静心情。谢谢你的输入,我将不得不改变它,因为我打开和关闭了很多。哈哈。无论发生什么,当脚本执行完毕时,连接总是关闭的。到目前为止,3个答案中唯一合理的答案是-1提到pconnect。你能解释一下pconnect有什么好处吗?你用过吗?衡量“加速”程度?是否遇到过太多连接错误?嗯,除非连接通过SSL/TLS进行保护,否则身份验证信息将以纯文本形式发送。pconnect()为您节省了打开和关闭连接的开销。如果您获得了“太多连接”,并且切换到connect()解决了问题,那么这只意味着一件事:这是一些数据库锁未释放的结果。否则,connect()和pconnect()为同一站点使用大致相同数量的通道。老实说,我怀疑你知道你在说什么。抱歉。@Gumbo如果mysqld在服务器上以apache的形式运行(绝大多数情况下都是这样),那么就不需要加密与mysql的连接。