【问题标题】:If statement or while loop failing on me in php如果语句或while循环在php中对我失败
【发布时间】:2011-04-29 07:18:26
【问题描述】:

我对 php 编码还很陌生,遇到了一些我认为很简单的问题。我正在尝试捕获访问我的网站并将其存储在我的数据库中的任何人的 IP 地址。代码如下,我什至不确定代码是否可以工作,但我确实收到以下错误 Parse error: syntax error, unexpected T_INC on line 29,我将在代码中突出显示:

$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();
                }

【问题讨论】:

    标签: php if-statement while-loop


    【解决方案1】:

    除了语法错误之外:这段代码对我来说似乎被炸毁了。这不也是一样吗:

    $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) . "')");
    

    【讨论】:

      【解决方案2】:

      您需要在所有变量之前加上一个美元符号 - 应该是

      $i++;
      

      【讨论】:

        【解决方案3】:

        应该是这样的:

        $i++;
        

        【讨论】:

          【解决方案4】:

          你需要在变量前加上$,所以是$i++

          【讨论】:

          • 我知道这将是一件非常简单和愚蠢的事情,谢谢!
          • @SamRowley:如果您使用突出显示代码的 IDE 或代码编辑器,则可以轻松避免此类拼写错误。我推荐 netbeans.org(他们的 PHP 版本)。
          猜你喜欢
          • 2015-02-15
          • 1970-01-01
          • 2017-03-09
          • 2013-11-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-28
          • 2017-12-29
          • 1970-01-01
          相关资源
          最近更新 更多