假设我有一个连接到DB的子程序.然后我想做一个查询并接收输出并用它做一些事情,当然,但是如果查询无效怎么办?
所以我们假设我有类似的东西:
$dbh = DBI->connect(<db>, <user>, <pass>);
$query = 'select a, b, c from table';
$sth = $dbh->prepare($query);
$sth->execute();
Run Code Online (Sandbox Code Playgroud)
我意识到我也可以使用"做",但这对我来说更容易理解.因此,在"table"没有列"c"的情况下,查询将无效,使得句柄$ sth无效并且无法执行.对?
现在,如果发生故障,$ sth会发生什么?我无法打电话给它,因为它无效.