查询在MYSQL中工作但在Codeigniter中不起作用

时间:2014-03-12 15:12:03

标签: php mysql sql codeigniter

我在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中运行得很好。

4 个答案:

答案 0 :(得分:2)

1。 mysql_* is deprecated so avoid using that ...
2。您是否先执行mysql_connect()命令? 3。 Your code is prone to sql injection

<小时/> 4. 由于您使用的是codeIgniter,我假设您要使用CodeIgniter框架来访问您的数据库

看看how to use codeigniter to access your database。简而言之:

  1. Configure CI by adding your database settings
  2. 在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。“'”