2

私はMySQLiでプリペアドステートメントを学ぶために時間を費やしてきました。参考として、DavidPowersのPHPSolutionsSecondEditionを使用しています。

このクエリは、特定のギャラリーからランダムな写真ファイル名を取得します。ギャラリー番号は変数($ i)です。これは機能しています。正しく記述されているかどうかを知りたいだけです。私のウェブサイトはかなりシンプルですが、SQLインジェクションは避けたいです。

$conn = dbConnect('query');
$randPic = "SELECT p_fname
        FROM photos
        WHERE g_id = ?
        ORDER by RAND()
        LIMIT 1";
$gid = $i;
$stmt = $conn->prepare($randPic);
$stmt->bind_param('i', $gid);
$stmt->bind_result($p_fname);
$stmt->execute();
$stmt->store_result();
$stmt->fetch();

ランダムな写真が必要なページでは、変数で呼び出すことができます。

echo $p_fname;

そして繰り返しますが、それはすべて機能します。これが正しくコーディングされているかどうかを知りたいだけです。

4

1 に答える 1

0

はい、クエリは正常に記述されています。

データを出力するときは注意してください。HTMLページの可変データを出力する場合は、htmlspecialchars()誤ってHTMLをページに挿入しないようにするために使用します。

于 2012-08-06T00:04:08.923 に答える