Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2014, 19:01
emmanuel92
 
Fecha de Ingreso: septiembre-2014
Mensajes: 3
Antigüedad: 9 años, 7 meses
Puntos: 0
Exclamación Problema PHP y base de datos

Estimados.
Tengo un problema, diseñe una pagina con base de datos y desde mi localhost ningún problemas, pero cuando la subí al hosting de mi cliente en algunos casos me manda el siguiente error.

Fatal error: Call to a member function fetch_assoc() on a non-object in /home/dominio/public_html/php/class.php on line 52

Código:
public function get_pro_id($idcat){
		$sql = "SELECT * from producto WHERE fkCat = '$idcat'";
		$res = Conectar::con()->query($sql);
		while ($reg = $res->fetch_assoc()) {
			$this->producto[] = $reg;
		}
		if (count($this->producto) == 0) {
			header("LOCATION:/404");
		}
		else if (count($this->producto) != 0 ) {

			return $this->producto;
		}
		
	}
El código muestra productos de una categoría, en la cual tengo como 7 u 8 categorías, pero siempre me sucede con una sola ... y como dije anteriormente, es frecuente. y no creo que sea problema que no la encuentra en la BD, porque las categorias se llaman de la base de datos tambien, es decir listo las categorias de la base de datos y al seleccionar una muestra los productos de esa categoria...

Lo otro es que me manda error de conexión con la BD, al igual que el problema anterior es en algunas ocasiones y la verdad no se como solucionarlo.

Código:
Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'nombre'@'dominio' (using password: YES) in /home/dominio/public_html/php/class.php on line 10

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in /home/dominio/public_html/php/class.php on line 11

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in /home/dominio/public_html/php/class.php on line 77

Fatal error: Call to a member function fetch_array() on a non-object in /home/dominio/public_html/php/class.php on line 78
Les dejo la conexión que tengo...

Código:
public static function con(){
		$host = "dominio";
		$user = "usuario";
		$pass = "contraseña";
		$db = "base de datos";
		$con = new mysqli($host,$user,$pass,$db);
		$con->query("SET NAMES 'utf8'");
		return $con;
	}
aparte de tener la web en mi localhost, anteriormente la tenia en un hosting gratuito en el cual tampoco presentaba fallas

De antemanos agradezco su ayuda :(

Última edición por emmanuel92; 11/09/2014 a las 19:25