2013-10-11 8 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

Читайте об этом повсюду в Интернете: [Википедия] (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

Смежные вопросы