使用IF的IF / IF..ELSE语句比较两个变量并插入MYSQL

时间:2012-01-18 14:59:56

标签: php mysql if-statement

我正在对两个变量进行计数验证,$ row2的值为7,$ row3的值为11.我想要实现的是更高的值只能插入到DB中。现在的问题是$ row3值大于$ row2。但它始终将$ row2值插入数据库。我的验证码有问题吗?

function tweetCount($hashtag) {

$url = 'http://search.twitter.com/search.atom?q='.urlencode($hashtag).'&rpp=100&result_type=recent';

//echo "<p>Connecting to <strong>$url</strong> ...</p>";
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
$xml = curl_exec ($ch);
curl_close ($ch);

//If you want to see the response from Twitter, uncomment this next part out:
//echo "<p>Response:</p>";
//echo "<pre>".htmlspecialchars($xml)."</pre>";

$affected = 0;
$twelement = new SimpleXMLElement($xml);
foreach ($twelement->entry as $entry) {
    $text = trim($entry->title);
    $author = trim($entry->author->name);
    $time = strtotime($entry->published);
    $id = $entry->id;

    //echo count($entry->text);
   // echo "<em>Posted ".date('n/j/y g:i a',$time)."</em><p>Tweet from <b><u>".$author."</u></b>: <strong>".$text."</strong>  </p>";
    //echo "<br/>";
}
    //echo count($twelemtnt);
    //echo count($entry);
    echo $number_of_tweets = count($twelement->entry);
}

在我的html表上,我像这样回复数据:

 <?php echo tweetCount($row[2]); ?>

  <input type="hidden" name="row2" value="<?php echo tweetCount($row2[2]);?>"  />
  <input type="hidden" name="row2Ini" value="<?php echo $row2[1];?>"  />
  <input type="hidden" name="row2Sch" value="<?php echo $row2[2];?>"  />

使用POST表单我将其发布到另一个页面,我需要进行计数验证,以查看哪个变量$ row2或$ row3具有更高的计数值,然后我将更高的值插入到数据库中

admin.php页面

$row2 = $_POST['row2'];
$row2Ini = $_POST['row2Ini'];
$row2Sch = $_POST['row2Sch'];


if ( $row2 > $row3 )
{
    echo "<br>row2 is more than row 3";
    $con = mysql_connect("localhost","root","password");
            if (!$con)
              { die('Could not connect: ' . mysql_error());}
            mysql_select_db("schoutweet", $con);
            $sql2="INSERT INTO matchTable (schInitial, schName,position)VALUES
            ('$_POST[row2Ini]','$_POST[row2Sch]','top4')";
            if (!mysql_query($sql2,$con)){die('Error: ' . mysql_error());}echo "ROW2 record added!<BR>";
            mysql_close($con);
}
else if ($row2 < $row3)
{
    echo "row3 count is more than row 2";
    $con = mysql_connect("localhost","root","password");
            if (!$con)
              { die('Could not connect: ' . mysql_error());}
            mysql_select_db("schoutweet", $con);
    $sql="INSERT INTO matchTable (schInitial, schName,position)VALUES('$_POST[row3Ini]','$_POST[row3Sch]','top4')";
            if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());}echo "ROW3 record added!<BR>";
            mysql_close($con);
}

1 个答案:

答案 0 :(得分:1)

永远不要写连接两次......你应该从if..else语句中取出连接部分......

检查下面是否有效......

$con = mysql_connect("localhost","root","password");
        if (!$con)
          { die('Could not connect: ' . mysql_error());}
        mysql_select_db("schoutweet", $con);


if ( $row2 > $row3 )
{
echo "<br>row2 is more than row 3";
        $sql2="INSERT INTO matchTable (schInitial, schName,position)VALUES
        ('$_POST[row2Ini]','$_POST[row2Sch]','top4')";
        if (!mysql_query($sql2,$con)){die('Error: ' . mysql_error());}echo "ROW2 record added!<BR>";

}
else 
{
    $sql="INSERT INTO matchTable (schInitial, schName,position)VALUES('$_POST[row3Ini]','$_POST[row3Sch]','top4')";
            if (!mysql_query($sql,$con)){die('Error: ' . mysql_error());}echo "ROW3 record added!<BR>";

 }
            mysql_close($con);