我的项目遇到了绊脚石,需要一些指导。我需要实现一个返回mysql_num_rows的模型查询 - 我想。我想要做的是在我的页面上我有一个评级小部件,记录投票人的IP地址。我不希望这个人不止一次投票。当我返回mysql_num_rows时,我收到错误说
警告: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; ?>
也许我在代码中遗漏了一些东西,或者有更简单的方法? 谢谢你的帮助。
修订于美国东部时间12月28日28日
if Else的修订代码如下
<?php if ($this->ip_address > 0) : ?>
"message"
<?php else: ?>
"rating form"
<?php endif; ?>
查询代码与Eduardo发布的内容完全相同!
再次感谢!
答案 0 :(得分:3)
您应该在查询中使用该资源:
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_num_rows
,因为它已被弃用。