2013-10-11 69 views
-2

我最近試圖實現這個腳本,但是我最近遇到了一些問題。

$q=mysql_query("select * from users where id='".$row['gamertag']."'"); 


while($row = mysqli_fetch_array($mw2ranks)) 
{ 

    echo "<tr><td> ".$i."."; 
    echo "</td> 
     <td>$q[username] 
     </td> 
<td>More stuff will go here</td> 
<td>More stuff will go here</td> 
    "; 
    $i++; 

} 

然後我想代碼$ q [username]會找到位於數據匹配中的用戶名。事實並非如此,誰能告訴我爲什麼?

+2

這是一個SQL注入等待發生! –

+0

您能否爲我們提供更多的代碼,這將幫助我們爲您提供幫助。 –

+0

是的,對不起,我輸入了更多的代碼。 – Achilles

回答

0

你需要查詢之後,以獲取結果:

$res = mysql_fetch_assoc($q); 

注意在評論中提到的SQL注入的危險。也請注意,MySQL_ *方法已被棄用。改用PDO。

+0

如何避免SQL注入? – Achilles

+0

雖然這幫助我解決了這個問題,但我想知道如何避免SQL注入。 – Achilles

+0

在網上隨處可以看到它:[Wikipedia](http://en.wikipedia.org/wiki/SQL_injection),[PHP.net](http://www.php.net/manual/en/security。 database.sql-injection.php),[MS TechNet](http://technet.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx)。或者只是[Google](https://www.google.us/#q=sql+injection)。你會發現很多信息 – ferdynator