我有這樣的代碼變量未被傳遞?
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