請問此代碼是否安全?參數化查詢
/* Create a new mysqli object with database connection parameters */
$mysqli = new mysql('localhost', 'username', 'password', 'db');
if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
exit();
}
/* Create a prepared statement */
if($stmt = $mysqli -> prepare("SELECT priv FROM testUsers WHERE username=?
AND password=?")) {
/* Bind parameters
s - string, b - boolean, i - int, etc */
$stmt -> bind_param("ss", $user, $pass);
/* Execute it */
$stmt -> execute();
/* Bind results */
$stmt -> bind_results($result);
/* Fetch the value */
$stmt -> fetch();
echo $user . "'s level of priviledges is " . $result;
/* Close statement */
$stmt -> close();
}
/* Close connection */
$mysqli -> close();
迂腐的筆記:這些評論中的每一個都是100%無用的,應該刪除。他們使代碼難以閱讀,並且不添加額外的信息......我覺得和對象方法調用('$ stmt-> execute()`一樣,沒有理由用空白區分調用)...另外,正確縮進你的代碼,它也將有助於可讀性... – ircmaxell 2010-12-21 14:19:43
是的,它是安全的,但它也是boooooring – 2010-12-21 14:54:06