2013-12-12 226 views
0

我想知道是否有下面的替代(請注意我不是擔心安全RIGHT NOW)SQL SELECT查詢

$value = $_GET['id']; 
$query = "SELECT * from users WHERE username = '$value'"; 

因此而不必$值在單引號可我們在SQL語句中使用它,而不必使用撇號和use和alternative?

+1

這在很大程度上依賴於客戶端和服務器軟件。例如PHP/MySQL與C#/ SQL Server不同。你需要用適當的標籤 –

+0

通常情況下,是的,但只是數字來更新你的問題。 – edem

+2

你現在應該絕對擔心安全問題。它將決定你如何查詢數據庫。具有諷刺意味的是,使用預先準備好的語句(對SQL注入具有很高的安全性)可能會很好地解決您的問題。問題的關鍵在於,除非您喜歡不必要地重寫代碼,否則您不應該將安全思想與其他設計和實現分開。 –

回答

0

你想使用綁定變量。請參閱documentation爲例(這是一個Oracle的例子,但其他數據庫的應該是相似的)。

綁定變量也將幫助您在大多數數據庫中的應用程序性能,因爲如果您正在執行此類型的多個查詢,則可以重用查詢計劃。

既然你更新你的答案,表示你使用MySQL,請參考here對於該數據庫綁定變量的一個例子。