我正在编写一个网络应用程序,该应用程序将在内部用于各种任务。它使用定期需要查询数据的 MySQL 数据库。
我知道准备好的语句,它们是最佳实践,但考虑到大量的表和连接,我发现编写一个接受查询、运行并返回结果的通用函数是最简单的。
我知道如果它在实时站点上,这可能容易受到 SQL 注入的影响,但是使用这种方法有什么固有的坏处吗?我对 php 和 MySQL 之间的接口比较陌生,并且有兴趣了解在 webapp 中运行语句的可重复方法的最佳实践。
这是我将用于SELECT
查询的示例函数。
function getSQLResultsPDO($query){
$mydb = new PDO('mysql:host=localhost;dbname=mydatabase;charset=utf8', 'user', 'password');
$sth = $mydb->prepare($query);
if (!$sth) {
echo "\n<pre>PDO::errorInfo():</pre>\n";
echo "<pre>";
print_r($conn->errorInfo());
echo "</pre>";
}
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_CLASS);
if (empty($result)){
$result = false;
}
return $result;
}