1

以下のコードからわかるように、追加のクエリを実行しようとしています。

2番目のクエリの実行に問題があります。コードが2番目のクエリを認識していないようです。誰かアドバイスしてもらえますか?

前もって感謝します。

$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>";
}
4

1 に答える 1

4

$row['adid']クエリに値としてではなく文字列としてを含めたため、クエリは機能しません。次のように簡潔にします。

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

クエリは脆弱になりましSQL Injectionた。以下の記事をお読みください

于 2012-11-13T02:34:01.357 に答える