Как исправить эту проблему выбора MySql? - PullRequest
0 голосов
/ 20 июля 2011
$_GET['id'] = $id1;
$result = mysql_query("SELECT * FROM example WHERE id = '$id1'");
while ($row = mysql_fetch_array($result)) {
   //some code
}

Почему этот код не работает? Он не подчиняется биту id='$id2'. Все получается из примера таблицы.

Как я могу это исправить?


Таблица примеров содержит id,text,time rows. Имя файла example.php?id=1.

Ответы [ 7 ]

7 голосов
/ 20 июля 2011

не должно ли быть $id1 = $GET['id']?

Но вы должны остерегаться, потому что ваш код уязвим для атаки SQL-инъекцией, кто-то может запросить специально созданный URL-адрес, например example.php?'; delete from example;

1 голос
/ 20 июля 2011

Предполагается ли $_GET['id'] = $id1; как $id1 = mysql_real_escape_string($_GET['id']);?

0 голосов
/ 20 июля 2011
$id1 = $_GET['1'];
$id1 = (int)$id1;
$result = mysql_query("SELECT * FROM example WHERE id = $id1 "); 

Попробуй Не использует *

Попробуйте назвать настоящие имена полюсов, таких как tablename.user_name, tablename.user_login

0 голосов
/ 20 июля 2011

Разве это не должно быть $id1 = $_GET['id']; вместо $_GET['id'] = $id1;?

0 голосов
/ 20 июля 2011

Если id - это числовое поле в вашей таблице, попробуйте удалить кавычки:

"select * from example where id = $id1"

И конечно:

$GET['id'] = $id1;

Должно быть:

$id1 = $GET['id'];
0 голосов
/ 20 июля 2011
  • Вы имели в виду $id1 = $_GET['id'];?
  • Где вы защитились от SQL-инъекций?
  • Почему весь ваш код в одной строке?
  • Пожалуйстане пишите подписи / спасибо в ваших сообщениях.
0 голосов
/ 20 июля 2011

будет ли это работать для вас? Прошло много времени с тех пор, как я использовал php в последний раз ...

$id1 = $_GET['id']; 
$result = mysql_query("SELECT * FROM example WHERE id = '$id1'"); 
while($row = mysql_fetch_array($result)) 
{ 
    //some code 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...