最有效的运行查询方式

时间:2015-02-20 08:58:43

标签: php mysql sql pdo php-5.5

自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?

有人会如此善意地推动我朝着正确的方向前进吗?一个链接也很好,找不到任何东西

OfficialBAMM。 \ O /

1 个答案:

答案 0 :(得分:2)

要防止SQL注入,您应该使用带占位符的预准备语句:

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

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