2017-10-06 109 views
0

何时要检查查询是否成功完成?通常在代码中,我看到一个混杂的包,要么检查更新/插入/删除语句是否成功完成(例如if ($query) { echo 'success' }或根本没有检查。何时检查查询是否成功完成

我用Google搜索了解推荐的选项是什么,但没有找到任何而且我也意识到这个问题是非常主观的,取决于数据的敏感程度,但同时,除非编码人员开始使用严重的格式错误的查询,否则检查查询是否完成的要点是什么?

if ($user->update_user($this->input->input_stream(), $info) === false) { 
    encode_response('error', $this->n_config->get('query_error')); 
} else { 
    encode_response('success', Auth_lang::get('user_updated_successfully')); 
} 
+0

A)使用例外,所以你不能忘记测试错误。 B)尝试并从函数中返回逻辑上的真值以指示成功。 C)当简单否定可行时,避免像'===假'这样的比较。 D)不要设置双重否定条件,比如这个'else'代表“如果更新没有成功”。 – tadman

+0

@tadman这与我的问题有什么关系? – Alex

+0

你需要一个同样的东西的长形式?代码是不同的,因为有些人懒惰,并没有花时间做正确的事情。如果您认为查询成功,在很多情况下,您可能是对的,代码“有效”。当事情出错时,除非您测试每个查询的结果代码,否则您将不知道发生了什么故障。因此:使用例外。 – tadman

回答

2

始终。始终。始终检查错误。你canno假设一个查询成功了,然后盲目地踏上下一步,否则最终会发生不好的事情。

检查错误的最简单方法是自动检查所有内容:启用异常。如果出现问题,这些将被解雇,您不必手动检查每个电话。但是,您将需要弄清楚这些方法以及在哪里,以便它们不会炸毁整个应用程序。

程序员来自不同的背景,对如何做这些事情有不同的看法,有些人懒得打扰他们做这些事情。在C代码中,没有例外的东西,所以这些开发人员被用来测试错误代码。在Java中,异常是它们所提供的生态系统的一个嵌入式部分,并且人们明智地使用它们。

PHP不确定它是一种什么样的编程语言,如果你想和错误代码,你可以使用例外,如果这更多的是你的风格。这就是为什么你看到这些事情的方法多样化的原因。