我有这样的代码变量未被传递?
while($row = mysql_fetch_row($result))
{
echo '<tr>';
$pk = $row[0]['ARTICLE_NO'];
foreach($row as $key => $value)
{
echo '<td><a href="#" onclick="GetAuctionData(\''.$pk.'\')">' . $value . '</a></td>';
}
它得到的PK。然后PK被传递到axjax部分与此:
function GetAuctionData(pk)
{
.....
var url="get_auction.php?"
url=url+"cmd=GetAuctionData&pk="+pk;
最后在一个单独的PHP文件与使用:
$pk = $_GET["pk"];
$sql="SELECT * FROM Auctions WHERE ARTICLE_NO ='$pk'";
第二php文件利用自身并传递参数时,它工作正常。同样,在任何地方都没有错误。这个问题似乎与通过或产生$ pk,因为在输出文件中的链接导致$ pk递增2,例如4,6,8等
我不明白为什么会发生这种情况。
您可能很清楚这一点,但将Get参数直接放入SQL语句中是非常不安全的。如果你想以这种方式构造你的SQL语句,你可以先将它转换为一个整数。 – 2008-11-27 13:57:24