运行 查询的最有效方式
Most efficient way to run query
自 PHP5 以及删除 mysql_query(安息。)我很困惑 运行 查询的最有效方法是什么。由于有多种方法。
我知道的选项是这些:
选项 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);
有点 PDO 风格?
有人会这么好心地把我推向正确的方向吗? link 也可以,找不到任何东西
官方BAMM。 \o/
要防止 SQL 注入,您应该使用带占位符的准备语句:
$getInfo = "SELECT * FROM app2 WHERE id = :id";
$oStmt = $dbportal->prepare($getInfo);
$oStmt->execute(array(':id' => $appID));
在您获得正确的代码之前,效率不应该是一个问题。过早的优化是万恶之源。执行数据库查询的缓慢部分是访问数据,而不是您调用它的方式。
自 PHP5 以及删除 mysql_query(安息。)我很困惑 运行 查询的最有效方法是什么。由于有多种方法。
我知道的选项是这些:
选项 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);
有点 PDO 风格?
有人会这么好心地把我推向正确的方向吗? link 也可以,找不到任何东西
官方BAMM。 \o/
要防止 SQL 注入,您应该使用带占位符的准备语句:
$getInfo = "SELECT * FROM app2 WHERE id = :id";
$oStmt = $dbportal->prepare($getInfo);
$oStmt->execute(array(':id' => $appID));
在您获得正确的代码之前,效率不应该是一个问题。过早的优化是万恶之源。执行数据库查询的缓慢部分是访问数据,而不是您调用它的方式。