2012-06-22 44 views
0

這只是我的PHP代碼片段:MySQL如何從表中直接檢索數據到變量?

$cookies=$_COOKIE['rwt']; 
$user =mysql_query("SELECT user FROM users WHERE cookies='$cookies'"); 

我怎樣才能從MySQL表中檢索數據,直接把變量$用戶現在我得到了奇怪的結果:資源ID#10

+3

如果這恰好是您的實際代碼,請查看[SQL注入](https://www.owasp.org/index.php/SQL_injection)。 – Gumbo

+0

@Gumbo現在我使用mysql_real_escape_string和htmlentities(來自XSS)來防止這種攻擊。夠了嗎? – treng

+2

僅當您將它用於*每個*值時。 (請注意,這不能用於任何值,例如SQL關鍵字,標識符等) – Gumbo

回答

3

你要讀取行從結果把手您得到:

$user = mysql_query(blah blah blah); 
$row = mysql_fetch_assoc($user); 
echo $row['user']; 
1

沒有獲取的陣列就可以得到與mysql_result單個列值();

$cookies=mysql_real_escape_string($_COOKIE['rwt']); 
$userResource =mysql_query("SELECT user FROM users WHERE cookies='{$cookies}'"); 
$user=mysql_result($userResource,0,"user"); 
+0

它返回一個錯誤警告:mysql_result()無法跳轉到MySQL結果索引10上的第0行 – treng

+0

你的查詢可能有問題,使用mysql_error()找出 –

+0

沒有錯誤,它在數據庫中工作完美 – treng