自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 /
答案 0 :(得分:2)
要防止SQL注入,您应该使用带占位符的预准备语句:
$getInfo = "SELECT * FROM app2 WHERE id = :id";
$oStmt = $dbportal->prepare($getInfo);
$oStmt->execute(array(':id' => $appID));
在获得正确的代码之前,效率不应成为问题。过早优化是万恶之源。执行数据库查询的缓慢部分是访问数据,而不是您调用它的方式。