我在Codeigniter的模型php中执行以下命令:
$sql=mysql_query("select name from reseller_domain where name='".$name."'");
$numrows=mysql_num_rows($sql);
if($numrows!=null || $numrows==0)
{
return 'f';
}
else
{
return 't';
}
我没有得到任何结果。但是,同样的查询在phpmyadmin中运行得很好。
答案 0 :(得分:2)
1。 mysql_* is deprecated so avoid using that ...
2。您是否先执行mysql_connect()命令?
3。 Your code is prone to sql injection
在CodeIgniter中尝试此操作
$sql = "select name from reseller_domain where name = ?";
$this->db->query($sql, array($name));
if($query->num_rows() == 0){
return 'f';
}else{
return 't';
}
答案 1 :(得分:1)
尝试一下,看看你得到了什么错误。
$sql=mysql_query("select name from reseller_domain where name='".$name."'") or die(mysql_error());
编辑:
为什么你这样检查?
尝试检查:
if($numrows==0)
{
答案 2 :(得分:1)
编辑: 说真的,我需要开始使用CI DB类,这不是一个好习惯。 首先,尝试在var中获取查询并将其退出到屏幕。然后查看实际查询的内容并在PHPMYADMIN中尝试此操作。我怀疑$ name var。
的错误=============================================== ============================
看起来你没有选择数据库。
尝试使用Code Igniters DB类?
如果你还没有,
$this->db->query('select name from reseller_domain where name='".$name."');
必须说,虽然您最好阅读有关它的文档,但它可能会对您有所帮助。如果使用CI Db类执行查询,则可能希望使用以下命令查看实际输出的查询:
exit($this->db->last_query()); //yes exit isn't good, not even for debugging. But it works.
然后查看查询内容出了什么问题。
答案 3 :(得分:0)
您在codeigniter中的数据库设置以及您在phpmyadmin中的位置可能正在使用不同的默认架构。
尝试使用:“从database_name.reseller_domain中选择名称,其中name ='”。$ name。“'”