PHP fetch_array对象错误

时间:2014-07-30 17:30:19

标签: php mysql mysqli

我正在尝试使用对象mysqli -> fetch_array()方法从我的mysql数据库中检索数据。但我不能因为我有以下错误:

  

致命错误:在第51行的/usr/home/.../web/modelos/usuario-model.php中的非对象上调用成员函数fetch_array()

这是我的代码:

function datoscorrectos($nombre,$csenya)
{
    $dtcorrectos = false;
    //$cn = $this -> establecer_conexion();
    $cn = new mysqli(SERVIDOR_BBDD,USUARIO_BBDD,CONTRASENA_BBDD,NOMBRE_BBDD);

    $cp = "select nombre, contrasenya from usuarios where usuario = " . $nombre;
    $cbd = $cn -> query($cp);
    echo "nombre " . $nombre;

    while($cbd->fetch_array(MYSQLI_ASSOC))
    {   
        echo $fp["nombre"];
        if($nombre === $fp["nombre"]) 
         {
            if($csenya === $fp["contrasenya"]) 
             {
                $dtcorrectos = true;
                break;
             }  
         }
    }

    return $dtcorrectos;
}

如何检索数据?

感谢。

2 个答案:

答案 0 :(得分:2)

问题是自定义字符串必须包装在SQL查询中的单引号之间:

"select nombre, contrasenya from usuarios where usuario = '$nombre'";
                                                          ^       ^

答案 1 :(得分:1)

确保您的SQL语句正确并从中删除空格 $cn -> query($cp); - 虽然不是不正确,但它不是一个好的编程实践。

基本上你的$cbd对象没有被创建。