我對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