我正在检查如何测试查询成功,并看到了这个方法:
if($db->query(...)){
//It was successful!
} else {
//Something went wrong
}
但这只是检查查询是否会成功运行,还是运行查询然后返回true / false?我假设它确实在运行,但这让我想到了一个主要问题:
我是否可以通过这种方式测试查询是否成功,同时将结果集存储在变量中,如此?
if ($result = $db->query(...)){
//something
}
否则我必须在if语句中运行一次相同的查询,然后将结果存储在变量中。
但是,基本上,这就是我所想知道的。感谢所有友好的帮助。 :)
答案 0 :(得分:1)
在特定上下文中,函数和方法的行为不同。
如果if
运行查询,则行为不会更改,如果它在$result = $db->query();
if (is_null($result)) {
var_dump($result);
}
语句中。
所以,是的,它确实运行了查询
您可以尝试这样的方法来测试您的查询
<legend translate>Lower secondary studies</legend>
答案 1 :(得分:1)
如果您想在运行之前验证查询,那么您可以尝试首先准备它:
$prepare = $db->prepare($sql);
// check if SQL compiled
if($prepare)
{
// execute the SQL
$execute = $prepare->execute();
}