php sql 异常判断 100

在php中执行sql语句的时候,如果遇到sql语句有错误(比如插入的时候,有些值不符合约束),这时,php就会终止运行了。我是想问,能不能事先判断出sql语句是否存在错误... 在php中执行sql语句的时候,如果遇到sql语句有错误(比如插入的时候,有些值不符合约束),这时,php就会终止运行了。 我是想问, 能不能事先判断出sql语句是否存在错误?
当然,简单的判断我知道,比如唯一性约束,就先查询是否存在,如不存在再插入。 这种常规的,我是知道的。 我想问的是否能有一种综合的预判机制,可以判断出sql语句是否有错误,只需要关心是否有错误,而不需要去关心是哪种错误。
php的try...catch{} 不起作用的, 一旦遇到 ERROR级别的错误,就不会继续运行了
展开
 我来答
天街夜雨
2013-01-24 · TA获得超过641个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:663万
展开全部
可以使用 mysql_errno() 来判断上一条sql语句是否执行成功. 返回非0 都表示错误.
(若想获取错误的文本描述信息 , 可以使用 mysql_error() )
例子:
$资源句柄 = mysql_connect(....);
@mysql_query('abcdee' , $资源句柄);
var_dump(mysql_errno($资源句柄));
var_dump(mysql_error($资源句柄));

================================
实现判断语句是否正确. 那就得在拼接sql的时候下功夫.
如果把字段值的验证与过滤做到位了.
那拼接出来的sql 不会有问题的.
天远网络科技
2013-02-01 · TA获得超过140个赞
知道小有建树答主
回答量:567
采纳率:0%
帮助的人:219万
展开全部
mysql_connect('127.0.0.1','root','123456');
mysql_select_db('test');
$sql = "select * from abc";
try {
if(@!mysql_query($sql)) {
throw new Exception('产生数据链接错误',1); //抛出异常信息
}
echo '继续执行';
}catch(Exception $e) {
echo '异常处理';
//echo $e->__toString(); 捕获抛出异常信息
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
失落的雨毛
2013-01-21 · TA获得超过844个赞
知道小有建树答主
回答量:1074
采纳率:50%
帮助的人:956万
展开全部
已经写了程序,就比较麻烦了,
一般情况下,我的习惯是写好了程序,先输出语句,然后检查语句是否正常,再用程序执行,如果防止错误可以使用try 来防止 程序死掉,
try {
$sql = "";
//各种操作
} catch (Exception $e) {
//获取错误信息
echo 'Caught exception: ', $e->getMessage(), "\n";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夨情_hy
2013-01-22 · TA获得超过115个赞
知道答主
回答量:132
采纳率:25%
帮助的人:62.1万
展开全部
可以先把sql 语句用 echo 输出.然后在命令行中调试.正确之后在写下面的程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
txtx01512
2013-01-23 · 超过26用户采纳过TA的回答
知道答主
回答量:155
采纳率:0%
帮助的人:77.2万
展开全部
try{}catch{}吧,捕捉到错误想怎么处理就看你自己了,也可以用事务处理,只有全部插入正确才会插入数据,否则会自动回滚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式