Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 在表中搜索以查找集合id的IP地址是否存在_Php_Mysql_Zend Framework - Fatal编程技术网

Php 在表中搜索以查找集合id的IP地址是否存在

Php 在表中搜索以查找集合id的IP地址是否存在,php,mysql,zend-framework,Php,Mysql,Zend Framework,我的项目遇到了障碍,需要一些指导。我想,我需要实现一个返回mysql\u num\u行的模型查询。我想做的是在我的页面上有一个记录投票人IP地址的评级小部件。我不希望这个人投票不止一次。当我返回mysql\u num\u行时,我得到一个错误 警告:mysql_num_rows()只需要1个参数,给定0 这是我的模型 public function getRatingByIp($ipAddress) { $sql = sprintf ("SELECT ip_address FROM

我的项目遇到了障碍,需要一些指导。我想,我需要实现一个返回mysql\u num\u行的模型查询。我想做的是在我的页面上有一个记录投票人IP地址的评级小部件。我不希望这个人投票不止一次。当我返回mysql\u num\u行时,我得到一个错误

警告:mysql_num_rows()只需要1个参数,给定0

这是我的模型

    public function getRatingByIp($ipAddress)
{
    $sql = sprintf ("SELECT ip_address FROM " . $this->_prefix . "media_set_rating
                WHERE set_id = set_id");
    mysql_query($sql);
    return mysql_num_rows();

}
以下是我为控制器准备的:

$setId  = $this->_request->getParam('set_id');
$ipAddress = $this->_request->getClientIp();

$ipAddress = $setDao->getRatingByIp($setId);

$this->_view->assign('ip_address', $ipAddress);
$this->_view->assign('set_id', $setId);
然后在视图中,我想执行if-else语句来显示或隐藏评级表单。 我现在有这个:

<?php if ($this->ipAddress > 0) : ?>
  "message"
<?php else: ?>
  "rating form"
<?php endif; ?>

“消息”
“评级表”
也许代码中缺少了一些东西,或者有更简单的方法? 谢谢你的帮助

美国东部时间5月28日12:28修订

if-Else的修订代码如下

<?php if ($this->ip_address > 0) : ?>
  "message"
<?php else: ?>
  "rating form"
<?php endif; ?>

“消息”
“评级表”
查询代码与Eduardo发布的代码完全相同


再次感谢

您应该在查询中使用资源:

public function getRatingByIp($ipAddress)
{
    $sql = "SELECT ip_address FROM " . $this->_prefix . " media_set_rating WHERE set_id = " . $ipAddress);
    $result = mysql_query($sql);
    return mysql_num_rows($result);
}
您不应该使用
mysql\u num\u rows
,因为它已被弃用


参考资料:

您应该在查询中使用资源:

public function getRatingByIp($ipAddress)
{
    $sql = "SELECT ip_address FROM " . $this->_prefix . " media_set_rating WHERE set_id = " . $ipAddress);
    $result = mysql_query($sql);
    return mysql_num_rows($result);
}
您不应该使用
mysql\u num\u rows
,因为它已被弃用


参考:

Ok,排除了错误,但if-else语句仍然不成功。我在表中有我的ip地址,它仍然显示表单。回显
$sql
变量以查看有什么,然后在mysql上执行以查看是否找到结果。在Zend中如何执行此操作?如果我在模型中回显,它将不会显示在视图中。如果我在视图上回显,它将出错,因为它不知道它是什么;退出我将它添加到视图中,得到了:注意:未定义变量:sql。将它添加到模型中不会给我带来任何结果。好的,这样就消除了错误,但是我仍然无法成功地使用if-else语句。我在表中有我的ip地址,它仍然显示表单。回显
$sql
变量以查看有什么,然后在mysql上执行以查看是否找到结果。在Zend中如何执行此操作?如果我在模型中回显,它将不会显示在视图中。如果我在视图上回显,它将出错,因为它不知道它是什么;退出我将它添加到视图中,得到了:注意:未定义变量:sql。将其添加到模型中不会给我带来任何好处。