Aar*_*ron 14 php mysql oop die
当我第一次开始学习PHP时,我会编写类似于这里的查询语句:
mysql_query("SELECT * FROM `table`") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
达到与上述相同的效果的最佳方式是什么?
据我所知,在今天的类,函数和一般OOP的世界中,以这种方式运行一堆查询是非常低效的.我们应该采取哪些不同的做法?
Xeo*_*oss 19
您应该使用PDO,它会抛出可以捕获的异常 - 或者如果没有捕获它们将像die()一样杀死脚本.
$db = new \PDO(
'mysql:dbname=database;host=localhost',
'root',
'',
array(
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
\PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
)
);
$db->query('SELECT INVALID FOO'); // Exception!!!
this_never_gets_run();
Run Code Online (Sandbox Code Playgroud)