运行查询的最有效方式


Most efficient way to run query

由于PHP5和mysql_query(RIP)的删除,我很困惑什么是运行查询的最有效方法。因为有多种方式。

据我所知,有以下几种选择:

选项1:

$getInfo = "SELECT * FROM app2 WHERE id='". $appID ."' ";
$oStmt = $dbportal->prepare($getInfo);
$oStmt = $dbportal->execute();

我相信这就是PDO。

选项2:

$createQuery="INSERT INTO usr2 SET login='". $user ."', role='". $role ."'";
$dbportal->query($createQuery);

有点PDOish?

有人会把我推向正确的方向吗?链接也很好,找不到任何

官方BAMM。''o/

为了防止SQL注入,您应该使用带有占位符的已准备好的语句:

$getInfo = "SELECT * FROM app2 WHERE id = :id";
$oStmt = $dbportal->prepare($getInfo);
$oStmt->execute(array(':id' => $appID));

在得到正确的代码之前,效率不应该是一个问题。过早的优化是万恶之源。执行数据库查询的较慢部分是访问数据,而不是您调用数据的方式