我想知道是否有人可以幫助我,因爲我很困惑。我圍繞着圈子走,似乎是這樣一個基本的東西,因爲這肯定有一個簡單的答案;即使經過幾個小時的搜索和閱讀,我還沒有找到它。簡單的方法mysqli與SELECT *準備語句?
所以在MySQL的我可能有這樣的:
$q=('SELECT * FROM table WHERE field="'.$var.'"');
$result = mysql_query($q);
if (!$result)
{
//some error handling
} else {
$row = mysql_fetch_assoc($result);
$var1 = $row['var1']
$varx = $row['varx']
}
沒問題。現在我想用一個佔位符替換$ var來防止注入。我知道SELECT *
是懶惰的,但忽略了一秒鐘,是否有一個簡單的快速方法,我可以使用準備好的語句複製上述內容?到目前爲止,我所看到的解決方案都包含了像20行一樣的函數,使用需要在PEAR庫中加載的getAll()以及各種複雜的東西。當然,有些東西並不需要所有這些矯枉過正?我設法找到的唯一的東西是get_result(),儘管我有所需的mysqlnd驅動程序,但它沒有啓用。這是因爲它必須爲整個VPS啓用(這是一個問題雖然?)
有人可以提供一些簡單的示例代碼?我真的很困惑,因爲這麼簡單,看起來並不是一個簡單的解決方案?
請停止使用'mysql_'前綴,因爲它們已被取消,敞開攻擊。使用適當的技術是'mysqli_'前綴,其中可以找到豐富的文檔。 – PlantTheIdea
你可以檢查PHP文檔http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php – aerojun
@PlantTheIdea,謝謝,但這是我正在嘗試做的! – Whitenoise