根据if语句PHP检查插入的MySQL列内容

时间:2015-11-20 17:02:30

标签: php mysql curl

        $con = mysqli_connect($host,$uname,$opw,$odb);  //database login details
        // Check connection
        if (mysqli_connect_errno())                                             //if you cannot access the database
          {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();         //useful error message
          }

        $result = mysqli_query($con,"SELECT * FROM PetLoc");

        if (!$result) { // add this check.
            die('Invalid query: ' . mysqli_error());
        }

        while($row = mysqli_fetch_assoc($result))
        {
             if($row['Location'] == 'inside')
             {
               $sql = ("INSERT INTO PetLoc (Location) VALUES ('outside')");
               sendText("outside");
             }
             else
             {
                $sql =("INSERT INTO PetLoc (Location) VALUES ('inside')");
               sendText("inside");
             }
        }

    function sendText($petLoc) {  
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "smsserver");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, true);
        $data = array(
             'mphone' => 'phoneno',
             'smstext' => 'Your pet walked through the door flap, it was last seen '.$petLoc.'.',
             'username' => 'uname'
        );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        $output = curl_exec($ch);
        curl_close($ch);
        echo "Output".$output ;

    }
mysqli_close($con);

此代码正在检查“位置”的内容。我的sql server中的列,如果内容是' inside'它应该改为外面的'反之亦然。然后发送字符串' out / inside'到sendText方法,它将在文本消息中使用响应。

问题是服务器内没有数据被更改,我在连接上没有错误,因此连接正常,但无法插入数据库。

在运行这个PHP文件时,除了OutputReturnCode 1之外我没有得到任何反馈 - 但这是来自curl实现,告诉我文本没有被发送。

感谢任何帮助, 欢呼声。

1 个答案:

答案 0 :(得分:0)

  

问题是服务器内没有数据被更改,我在连接上没有错误,因此连接正常,但无法插入数据库。

那是因为您的代码中没有mysqli_query()

<强>解决方案

while($row = mysqli_fetch_assoc($result))
{
     if($row['Location'] == 'inside')
     {
       $sql = "INSERT INTO PetLoc (Location) VALUES ('outside')";
       mysqli_query($con, $sql);
       sendText("outside");
     }
     else
     {
        $sql =("INSERT INTO PetLoc (Location) VALUES ('inside')");
        mysqli_query($con, $sql);
       sendText("inside");
     }
}