簡體   English   中英

如果語句或while循環在php中失敗了

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM