2014-02-19 65 views
-1

我想知道是否有人可以幫助我,因爲我很困惑。我圍繞着圈子走,似乎是這樣一個基本的東西,因爲這肯定有一個簡單的答案;即使經過幾個小時的搜索和閱讀,我還沒有找到它。簡單的方法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啓用(這是一個問題雖然?)

有人可以提供一些簡單的示例代碼?我真的很困惑,因爲這麼簡單,看起來並不是一個簡單的解決方案?

+0

請停止使用'mysql_'前綴,因爲它們已被取消,敞開攻擊。使用適當的技術是'mysqli_'前綴,其中可以找到豐富的文檔。 – PlantTheIdea

+0

你可以檢查PHP文檔http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php – aerojun

+0

@PlantTheIdea,謝謝,但這是我正在嘗試做的! – Whitenoise

回答