0

当我尝试从表(modele)中提取“marca”中的所有数据时遇到问题(marca 包含诺基亚、三星等)

所以我尝试使用$_GET但不工作。我可以只用$_GETid 从表中选择一行,但这对我没有帮助,因为我想从链接中选择类别,所以 sql 注入就像localhost/article.php?marca=nokia(必须只出现诺基亚手机)我认为是最好的方法。

现在我正在使用代码,它显示了按 id 排序的最后 5 个帖子,但它无法正常工作,因为它显示了 nokia、samsung、htc、nokia、other、nokia。

<?php require 'SQL.php';

$id = isset($_GET['id'])?(int)$_GET['id']:0; // daca $_GET['id'] exista, folosestel ca      integer, altfel trucul sentinel, de obicei id incepe cu 1, deci 0 va functiona

if ($id!=0): 
// Vom procesa daca exista doar 1 inregisrare in baza de date
$query = 'SELECT marca FROM modele WHERE id='. $id .' LIMIT 1'; // voi folosi 1,    nemaiavand nevoie de alti pasi pentru lookup in sql
else:$query = 'SELECT marca FROM modele ORDER BY id DESC LIMIT 5'; 
endif;

$result = mysql_query($query);
// now loop through the results
while($linie = mysql_fetch_array($result))
{
    // le voi utiliza dupa bunul plac
    echo ''.$linie["marca"].'<br />';
} 
?>

要正常工作,它必须只显示诺基亚,诺基亚,诺基亚缺少什么?

如果是另一种方式,请告诉我!

4

1 回答 1

1

不,使用以下查询:

   SELECT marca FROM modele ORDER BY id DESC LIMIT 5

您正在显示所有您应该添加marca的子句,例如modelewhere

   SELECT marca FROM modele 
   where marca = 'nokia'
   ORDER BY id DESC LIMIT 5

您可以使用 GET 从 GET 检索marca名称$_GET["marca"]http://www.w3schools.com/php/php_get.asp

另请阅读有关 sql 注入的信息,因为我认为您会到达那里。

于 2013-01-05T23:04:37.607 回答