我对PHP还有很多新的PDO,所以我不完全知道在从SQL注入以外访问数据库时应该避免(并且包括)什么。 (仅供参考,在“用户”表下面的示例中也包含密码),但是使用下面的函数访问数据库以获取安全信息?是否容易受到攻击?使用函数访问数据库值是否安全?
,如果你不明白为什么我这样做是因为我发现它更快,链接表:)
<?php
require("access/common.php");
function getval($username, $column, $table, $datab){
$query = "
SELECT
id,
username,
email
FROM ".$table."
WHERE
username = :username
";
$query_params = array(
':username' => $username,
);
try
{
$stmt = $datab->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $ex)
{
die();
}
$row = $stmt->fetch();
if($row)
{
return $row[$column];
}
}
echo getval("USERNAME", "email", "users", $db);
?>
看起来你正在编写某种数据库访问层。你有没有考虑过使用一个[已经写好](http://stackoverflow.com/questions/108699/good-php-orm-library)? – tadman