基本上我工作的一個網站存儲和與它有問題。網上似乎沒有什麼我需要弄清楚。我有第一個if else語句工作正常,第二個工作不正常。這裏是編碼告訴我什麼是錯的,或者我可以做什麼不同。
<?php
$adsql = mysql_query("SELECT * FROM store_items WHERE userid='$id2'");
while($adrow = mysql_fetch_array($adsql)){
$type = $adrow['type'];(this is int)
$item = $adrow['id'];
if ($type == 1) {
$item1 = "<center>You have bought this already</center>";
} else {
$item1 = This is where item1 is bought
}
if ($type == 2) {
$item2 = "<center>You have bought this already</center>";
} else {
$item2 = This is where item2 is bought
</table>
";
}
}
?>
它檢索的最後一個數字不是所有的數字,作爲回報只顯示1 if else語句而不是兩個。任何想法是什麼是錯誤的讚賞。
歡迎堆棧溢出!你如何清理'$ id2'變量?我相信這個腳本容易受到[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)漏洞的攻擊,因爲你沒有顯示任何對$ id2變量的消毒。請使用[PHP Prepared Statements](http://php.net/manual/en/pdo.prepared-statements.php)來防止這些漏洞。謝謝。 – sarnold
[示例代碼](http://sscce.org/)應該是完整的,簡潔的,代表性的和*正確的*(不含語法錯誤)。另外,選擇並使用[縮進樣式](http://en.wikipedia.org/wiki/Indent_style)讓您的代碼可讀。一個好的代碼編輯器/ IDE可以自動縮進代碼,這會使某些類型的錯誤變得明顯。 – outis
mysql擴展已過時,正在棄用。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。 – outis