[英]If statement or while loop failing on me in php
我是一個相當新的PHP編碼,並遇到了一個問題,我覺得很簡單。 我試圖捕獲訪問我的網站並將其存儲在我的數據庫中的任何人的IP地址。 代碼如下,我甚至不確定代碼是否會工作,但我確實得到以下錯誤解析錯誤:語法錯誤,第29行意外的T_INC,我將在代碼中突出顯示:
$ip = $_SERVER['HTTP_CLIENT_IP'];
$query="SELECT * FROM ip";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i = 1;
$found=false;
while(($i - 1) < $num){
$selection = mysql_query("SELECT ip FROM ip WHERE id=$i");
$tip = mysql_fetch_assoc($selection);
if($tip == $ip){
$found = true;
}
i++; //This is line 29
}
if($found == false){
$sql = "INSERT INTO `rowley_blog`.`ip` (`ip`) VALUES ('$ip');";
mysql_query($sql);
mysql_close();
}
您需要使用前綴變量$
,所以它的$i++
。
它應該是這樣的:
$i++;
你需要在所有變量之前加上一個美元符號 - 應該是這樣
$i++;
除了語法錯誤:這段代碼似乎讓我感到震驚。 這不是一樣的:
$ip = $_SERVER['HTTP_CLIENT_IP'];
mysql_query("REPLACE INTO `ip` (`ip`) VALUES ('" . mysql_real_escape_string($ip) . "')");
記住:好的代碼是短代碼;)
此外:如果您只是開始編寫PHP代碼,請不要開始使用mysql_
擴展。 而是使用PDO :
$ip = $_SERVER['HTTP_CLIENT_IP'];
$db->query("REPLACE INTO `ip` (`ip`) VALUES ('" .$db->quote($ip) . "')");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.