处理文件时,我打开和关闭这样的连接:
require("../StoredProcedure/connect.php");//users.user_id
//..some query and code
mysql_close();
我为整个文件多次这样做..是否更高效,一次打开连接而在文件末尾关闭它..
我也收到错误消息:
No database selected
但我确实要求连接文件选择了数据库..为什么我会收到该消息?
这就是文件内部的内容:
<?
$conn=mysql_connect("localhost","root","") or die(mysql_error);
mysql_select_db("politicalforum",$conn);
?>
连接工作..我尝试过其他查询
答案 0 :(得分:3)
我的建议是转到PDO。那里的结构更适合你的方法(多重连接)。
除此之外(而不是相反),我相信你应该坚持单个连接每个数据库。每次都不需要打开和关闭连接,因为它不会为您节省任何服务器资源或提高脚本的速度。
在PDO中数据库选择已嵌入连接DSN:
$db = new PDO('mysql:host=localhost;dbname=<SOMEDB>', '<USERNAME>', 'PASSWORD');
我敦促你学习它并远离mysql_*
函数,因为它们有许多问题(最突出的是没有准备好的陈述)。
<? ?>
)。使用完整的(<?php ?>
),旧的不推荐使用,可能会在以后的项目中删除。答案 1 :(得分:0)
如果您在一个程序/实例中与数据库建立多个连接,并且每次调用
require('../StoredProcedure/connect.php');
脚本中数据库连接的最佳策略是在您第一次需要时调用它,并在上次使用时关闭它。基本上在脚本的顶部和底部。
旁注:
include('../StoredProcedure/connect.php');
比要求更快,如果你可以使用单引号。您的脚本执行速度更快,服务器资源压力更小。
答案 2 :(得分:-1)
你不能这样做:
mysql_close();
你应该这样关闭你的连接:
$link_identifier = mysql_connect(...);
mysql_close($link_identifier);
所以在你的情况下它将是
mysql_close($conn);
无论如何,您不需要关闭连接,PHP将在脚本结束时执行相同操作。
你不应该打开&amp;在脚本中多次关闭连接。只需一次(例如在脚本的顶部和底部)