扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
需要的,如果你不执行断开的话,内存会一直保持这次连接,直到被数据库单方面断开为止
创新互联公司是专业的东兴网站建设公司,东兴接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东兴网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一直连接属于长连接,网站加入并发请求数会很多,如果是一个长连接的话,你的网站加入并发请求数很多,也就是说同时有很多人来访问你的网站,并且每个访问者都需要查询一次mysql数据库的话,会很快把你的系统资源消耗完了。
每次连接都属于短链接,短链接就没有这个问题,每次查询完就马上关闭了,这样不容易消耗过多的系统资源。但是长连接也有个好处就是,频繁查询的时候,可以节省了多次建立TCP连接的时间
写反了,先断开连接,然后在退出
// 释放结果集
mysql_free_result($result);
// 关闭连接
mysql_close($link);
if (!$_conn = @mysql_connect('localhost','root','123456')) {
exit('数据库连接失败');
}
去掉@符号,让错误打印出来。问题通常不外乎是找不到该用户。说不定不存在'root'@'localhost',而是'root'@'127.0.0.1',mysql就是这么烦,是用host和user当联合主键来确定一个用户的,同样是root,不同的host也是不同的。密码什么的我就不说了,估计你都检查过很多遍了。 看图。
①如果用的是函数,比如连接MySQL,$conn=mysql_connect($db_host,$db_username,$db_password)为连接MySQL数据库的资源,关闭此连接用mysql_close($conn)。
②如果用的是PDO,如pdo=new PDO()为PDO连接,关闭连接将其设为null即可,即pdo=null。
希望能帮上你。
这是由于数据库连接数过多导致的,说明之前建立的连接你没有释放。
看到你的需求是实时获取数据库里面的内容,可以考虑使用内存数据库,这样返回的效率高,也会避免过多连接的错误。
可以使用redis和memcache来解决这个问题。代码如下,记得首先要安装redis,并且要安装php-redis扩展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流