私は 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);
?>