MySQL Query无法正常工作

时间:2012-11-13 02:29:11

标签: php mysql database

我正在尝试执行其他查询,您可以从下面的代码中看到。

我在执行第二次查询时遇到问题。似乎代码无法识别第二个查询。有人可以请一点建议吗?

提前致谢。

$query  = "SELECT * FROM tst WHERE status ='active' order by created DESC LIMIT 9";
$result = mysql_query($query);
if (!$result) die  ("database access failed : "  .   mysql_error());

while($row = mysql_fetch_array($result))
{
  echo"<ul class='gallery'><li>";
  echo "<td>" . $row['adid'] . "</td>";
  $subquery = ("SELECT * FROM match_item_image where adid = '.$row['adid'].'  LIMIT 1 ");
  $results = mysql_query($subquery) or die ("Error in query: $subquery " . mysql_error());
  $rows = mysql_fetch_array($results);
  $rows = mysql_num_rows($results);

  echo   '  <a href="viewad.php?adid='.$row['adid'].'&subcat='.$row['subcat'].'">  <img src= "upload/'.$rows['image'].'"height="175" width="200"border="0"  /> </a> ';
  echo "<h2><a href=''>".$row['state'] . "</a></h2>";
  echo   "<h2><a href=''>".$row['loc'] . "</a></h2>";
  echo"
   </li>
 </ul>";
}

1 个答案:

答案 0 :(得分:4)

查询无法正常工作,因为您已将$row['adid']作为字符串包含在内,而不是作为查询中的值包含在内,请将其置于此类

"SELECT * FROM match_item_image where adid = '" . $row['adid'] . "'  LIMIT 1 "

您的查询现在容易被SQL Injection攻击,请阅读以下文章