Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用if/else语句检查MySql计数结果_Php_Mysql - Fatal编程技术网

Php 使用if/else语句检查MySql计数结果

Php 使用if/else语句检查MySql计数结果,php,mysql,Php,Mysql,好的,这是我限制表单提交率的代码。当表单提交时,它使用时间戳和IP地址,然后在页面加载时,我有一个SQL语句,它使用用户IP,计算它在过去一个小时内在数据库中出现的次数,如果是2,则不会显示邮箱,否则,是的,问题是它不太有效,不管发生什么,它都会一直显示邮箱。代码如下: <?php $IP = $_SERVER['REMOTE_ADDR']; $sql = "select count(*) from mysql_table where ip='$IP' and timestamp >

好的,这是我限制表单提交率的代码。当表单提交时,它使用时间戳和IP地址,然后在页面加载时,我有一个SQL语句,它使用用户IP,计算它在过去一个小时内在数据库中出现的次数,如果是2,则不会显示邮箱,否则,是的,问题是它不太有效,不管发生什么,它都会一直显示邮箱。代码如下:

<?php

$IP = $_SERVER['REMOTE_ADDR'];
$sql = "select count(*) from mysql_table where ip='$IP' and timestamp > (DATE_ADD(now(), INTERVAL -1 HOUR))"; 
$result = mysql_query($sql) or print mysql_error();

if ($result['count(*)'] == 2) {
die('You are out of posts this hour.');
}

else {
?>

<font style="position:relative; margin: 0 auto; top:15px; color:#fff; font-size:16px; font-family:Arial;">Note, once you have posted, it <b>CANNOT</b> be removed.</font>
<div id="postbox">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<textarea id="postbox" name="postbox"></textarea><br />
<input type="checkbox" name="allowcommenting" value="1" id="commenting" CHECKED ><font style="margin-right:45px; font-family:Arial; font-size:18px; color:#fff; position:relative; top:15px;">Allow commenting?</font>
<?php
            require_once 'math-security.php';

            $math = new BasicMathSecurity( 'math' );
            echo $math->getField();
?>
<input type="submit" name="submit" id="submit" value="Share" value="This cannot be undone." />
</form>
</div>

<?php
}
?>

在本例中,
$result
尚未包含计数。必须首先从查询的结果集中获取结果行,然后才能进行比较

$sql = "select count(*) from mysql_table where ip='$IP' and timestamp > (DATE_ADD(now(), INTERVAL -1 HOUR))"; 
$result = mysql_query($sql) or print mysql_error();
if($row = mysql_fetch_row($result)) {
   if ($row[0] == 2) {
      die('You are out of posts this hour.');
   }
}

在本例中,
$result
尚未包含计数。必须首先从查询的结果集中获取结果行,然后才能进行比较

$sql = "select count(*) from mysql_table where ip='$IP' and timestamp > (DATE_ADD(now(), INTERVAL -1 HOUR))"; 
$result = mysql_query($sql) or print mysql_error();
if($row = mysql_fetch_row($result)) {
   if ($row[0] == 2) {
      die('You are out of posts this hour.');
   }
}

使用
mysql\u fetch\u assoc($result)
mysql\u fetch\u array($result)
以下是一个例子:

$query = 'SELECT count(*) FROM '.$table;
$result = mysql_query($query);
$res = mysql_fetch_array($result);
echo "Count - ".$res[0];exit;

使用
mysql\u fetch\u assoc($result)
mysql\u fetch\u array($result)
以下是一个例子:

$query = 'SELECT count(*) FROM '.$table;
$result = mysql_query($query);
$res = mysql_fetch_array($result);
echo "Count - ".$res[0];exit;

这就需要进行基本的调试。IP在数据库中吗?查询是否会产生任何结果?顺便说一句,在将
$IP
放入数据库之前,您应该对其进行清理,即使输入IP后很可能会伪造
远程地址。我现在检查查询。
$result['count(*')]
?这是什么?另外,您确定要使用
die()
?当我让它工作时,die是临时的。。。$result['count(*)']是它出现的次数,我想这需要进行基本的调试。IP在数据库中吗?查询是否会产生任何结果?顺便说一句,在将
$IP
放入数据库之前,您应该对其进行清理,即使输入IP后很可能会伪造
远程地址。我现在检查查询。
$result['count(*')]
?这是什么?另外,您确定要使用
die()
?当我让它工作时,die是临时的。。。$result['count(*')]是它出现的次数,我想。这会返回一个错误,(!)警告:mysql_fetch_row()希望参数1是资源,布尔值在C:\wamp\www\anonpost\index.php的第453行中给出。这会返回一个错误,(!)警告:mysql_fetch_row()希望参数1是资源,第453行C:\wamp\www\anonpost\index.php中给出的布尔值