数据库查询问题(sql server2000)
数据库连接问题(sql server2000)
服务器是win2000,apache1.3.**
连接是这么写的。
$cnn=mssql_connect($server,$username,$password);
使用这句话进行查询的。
$result = mssql_query($sql,$cnn);
$sql中肯定没有错误,因为有时他会成功。
不过有时也会失败。
我想是查询的时间比较长才会造成查询失败的。查询时间应该2分钟以上。
更改哪些配置可以解决这个问题?
先谢谢各位了。
问题点数:40、回复次数:15Top
1 楼carpenter01(木匠)回复于 2004-12-02 14:51:44 得分 0
顶
大哥们,帮帮忙呀,急用啊Top
2 楼zhangzongshan207(自我一生)回复于 2004-12-02 15:17:33 得分 10
PHP没有用过,帮你顶Top
3 楼chf99cn('不到桥头不死心')回复于 2004-12-02 15:27:50 得分 10
用mssql_select_db选择一个数据库,试一下!Top
4 楼carpenter01(木匠)回复于 2004-12-02 16:10:36 得分 0
to chf99cn('不到桥头不死心')
mssql_select_db
这个函数我用了,忘写出来了。
我的意思是,查询肯定没问题。
是连接时间的问题,我不知道在哪改。
谢谢各位的帮助Top
5 楼wxq4100798(aa)回复于 2004-12-02 16:47:57 得分 0
出错提示是什么?贴出来Top
6 楼jaspon(蒲公英)回复于 2004-12-02 16:48:50 得分 10
//连接数据库
$db_id = mssql_connect($servername,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
$db = mssql_select_db("数据库名",$db_id) or die("无法连接数据库!");
$query = "select * from table";
$result = mssql_query($query);
……
mssql_free_result($result);
mssql_close($db_id);Top
7 楼jaspon(蒲公英)回复于 2004-12-02 16:51:38 得分 0
每次操作完成要释放资源
mssql_free_result($result);
mssql_free_result($rresult);
mssql_close($db_id);
$db_id = null;
$db = null;
否则在连接时间较长时会造成无法从数据库获取数据,此时页面显示就是空,但是不报错。Top
8 楼carpenter01(木匠)回复于 2004-12-03 08:45:10 得分 0
在程序运行70秒左右的时候出现如下错误
Warning: mssql_query() [function.mssql-query]: Query failed in f:\apache\htdocs\check_3\report_view.php on line 356
355:$result = mssql_query($sql,$cnn);
356:$n=mssql_num_rows($result);
有时会成功,但执行时间都在40秒左右。Top
9 楼carpenter01(木匠)回复于 2004-12-03 08:59:19 得分 0
在VB中连接数据库时间太长也会出错
但是可以加上这句
cnn.CommandTimeout = 1200
我就想知道在php里怎样做。Top
10 楼carpenter01(木匠)回复于 2004-12-03 09:28:33 得分 0
我仔细掐了时间。
一超过60秒,就会报错。Top
11 楼jxflll(峰)回复于 2004-12-03 13:41:01 得分 10
修改php.ini文件。
搜索max_execution_time 把这个改大一些。单位是秒。Top
12 楼mikespook(CSDN == 吹死大牛)回复于 2004-12-03 13:43:45 得分 0
优化你的查询语句~~~你有多少数据,做怎样的查询或统计?2分钟,这个时间确实很长~~~Top
13 楼raid79(山鹰)回复于 2004-12-03 13:54:08 得分 0
我也是用php+mssql的,一直很正常,php.ini和mssql也是用默认的参数,没有做过特别的改动
不知道你为什么有时候能成功有时候又不能成功Top
14 楼carpenter01(木匠)回复于 2004-12-03 14:38:19 得分 0
问题解决了
在“php.ini”中的
[MSSQL]
项中加一行(以秒为单位)
mssql.timeout = 100(原来没有这行)
虽然是我自己找到,但还是谢谢大家对我的热心帮助。Top
15 楼twt326(天地小子)回复于 2004-12-03 16:04:56 得分 0
另外还有一个方法的,也是改PHP.INI中的连接超时改为100也是可行的。Top




