广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 6342 个阅读者
 
<<   1   2  下页 >>(共 2 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[PHP][讨论] PHP连MYSQL的相关问题...
大大们好...

小弟我有个问题...

一般我们用php连mysql 都是用 mysql_connect or mysql_pconnect

但我问题来了...
不管是用 mysql_connect or mysql_pconnect
万一 那台主机server没有开启..而我们用它们去connect
例如:
$con = @mysql_connect("abcdef.dslcity.net", "aaaaa", "22222") or die("无法对MYSQL连线");
万一连不上 "abcdef.dslcity.net" server的话
就会停很久...才出现无法连线...而且...而且...以下的程式都不能再执行下去...
就停在无法连线那行...
这样子有办法决解这问题吗??

另外...所以这问题我就想说...php有没有像网路能用ping的指令
我想说..先用ping abcdef.dslcity.net 若ping它是能ping到的
才执行 mysql_connect or mysql_pconnect
不然就跳过对mysql_connect or mysql_pconnect 的执行...
而我又找不到php类似能ping的东西来使用

麻烦大大及高手指导一下

感恩^^



献花 x0 回到顶端 [楼 主] From:台湾数位联合 | Posted:2005-08-08 01:05 |
hanklu 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x9 鲜花 x225
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

如果资料库连结失败以后

您希望出现什么的动作

你可以考虑直接连结显示其他不需要资料库的网页


献花 x0 回到顶端 [1 楼] From:台湾中华电信 | Posted:2005-08-08 13:45 |
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用hanklu于2005-08-8 13:45发表的 :
如果资料库连结失败以后

您希望出现什么的动作

你可以考虑直接连结显示其他不需要资料库的网页

我只是想要做到在connect 能先判别那台server是否有开启

若那台server没开启的话就不要让mysql去connect 就这样


献花 x0 回到顶端 [2 楼] From:台湾数位联合 | Posted:2005-08-08 17:11 |
xxxzzz
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x46
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

试了一下
下面的程式或许可以符合您的需求
$timeout设定多久无法连线即放弃连线
还有3306是MySQl预设的port
如果您有改过...记得要改喔

复制程式
<?php
$timeout=2;
$fp=fsockopen("MySQL server",3306,&$errno,&$errstr,$timeout);
if(!$fp){
echo "资料库连线逾时!";
}else{
fclose($fp);
$link=mysql_connect("MySQL server","帐号", "密码") or die("无法对MYSQL连线");
}
?>

此文章被评分,最近评分记录
财富:100 (by hanklu) | 理由: 感谢提供程式


献花 x0 回到顶端 [3 楼] From:台湾亚太线上 | Posted:2005-08-10 02:12 |
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

问一下哦
$fp=fsockopen("MySQL server",3306,&$errno,&$errstr,$timeout);
这行中的
&$errno &$errst这两个东西是什么呢??

要丢什么值进去呢??r


献花 x0 回到顶端 [4 楼] From:台湾数位联合 | Posted:2005-08-10 08:16 |
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

另外我在跑时候会出现以下这问题
=================================
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\appserv\www\ui\test.php on line 11

Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of fsockopen(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\appserv\www\ui\test.php on line 11
=====================================================
而line 11
就是 $fp=fsockopen("MySQL server",3306,&$errno,&$errstr,$timeout);
这一行


献花 x0 回到顶端 [5 楼] From:台湾数位联合 | Posted:2005-08-10 08:23 |
hanklu 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x9 鲜花 x225
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

allow_call_time_pass_reference 要再phpini里设定 true

我还在研究中 表情


献花 x0 回到顶端 [6 楼] From:台湾中华电信 | Posted:2005-08-10 10:24 |
xxxzzz
个人头像
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x46
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

$fp=fsockopen("MySQL server",3306,&$errno,&$errstr,$timeout);
的 &$errno 和 &$errstr 不用丢值进去
那是fsockopen的执行结果
可以echo $errno$errstr 看出来...看有没有错误
因为我是直接参考fsockopen()函式写的
http://www.php5.idv.tw/modules.ph...=show&shid=492
没发现有时要如版大说的要改php.ini里的 allow_call_time_pass_reference成 on 才能正常执行

如果不想改php.ini
也可以直接改成
$fp=fsockopen("MySQL server",3306,$errno,$errstr,$timeout);
不要用&$errno 和 &$errstr也是可以

此文章被评分,最近评分记录
财富:100 (by hanklu) | 理由: 感谢热心回答


献花 x1 回到顶端 [7 楼] From:台湾亚太线上 | Posted:2005-08-10 13:46 |
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

感谢大大们的指教....

我这部份test 成功了

是采取 不要用&$errno 和 &$errstr 的方式

感恩


献花 x0 回到顶端 [8 楼] From:台湾数位联合 | Posted:2005-08-10 23:11 |
gavintom 手机
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x5
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

另外..我有个问题但好久都没人回

不知这里有没有大大知道该如何解决呢...

网址
http://bbs.mychat.to/read.php?tid=360931


献花 x0 回到顶端 [9 楼] From:台湾数位联合 | Posted:2005-08-12 00:16 |

<<   1   2  下页 >>(共 2 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.076520 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言