PHP - Call to a member function prepare() on a non-object

 
Vista:

Call to a member function prepare() on a non-object

Publicado por angelica (2 intervenciones) el 05/08/2016 19:26:14
Hola,
Estoy tratando de subir una web a mi hosting, esta trae información de bases de datos, ya la conecté pero me arroja este error.

Fatal error: Call to a member function prepare() on a non-object in /home/jaha6890/public_html/blackteeth.co/funciones.php on line 26

Este es mi código

funciones.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
 function conexion($bd_config){
try {
  $conexion = new PDO('mysql:host=localhost;port:443;dbname='.$bd_config['basedatos'], $bd_config['usuario'], $bd_config['pass']);
  echo "Conexion establecida";
} catch (PDOException $e) {
  echo "error";
}
}
 
function limpiarDatos($datos){
	$datos = trim($datos);
	$datos = stripslashes($datos);
	$datos = htmlspecialchars($datos);
	return $datos;
}
 
function pagina_actual(){
	return isset($_GET['p']) ? (int)$_GET['p'] : 1;
}
 
 
function obtener_post($post_por_pagina, $conexion){
	$inicio = (pagina_actual() > 1) ? pagina_actual() * $post_por_pagina - $post_por_pagina : 0;
  $sentencia =  $conexion->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM noticias LIMIT $inicio, $post_por_pagina");
	$ssentencia->execute();
	return $sentencia->fetchAll();
}
 
function numero_paginas($post_por_pagina, $conexion){
	$total_post = $conexion->prepare("SELECT FOUND_ROWS() as total");
	$total_post->execute();
	$total_post = $total_post->fetch()['total'];
	$numero_paginas = ceil($total_post / $post_por_pagina);
	return $numero_paginas;
}


index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
require 'admin/config.php';
require 'funciones.php';
require 'funcion_sidebar.php';
 
$conexion = conexion($bd_config);
if (!$conexion) {
  header('Location: error.php');
 
}
$posts = obtener_post($blog_config['post_por_pagina'], $conexion);
 
if (!$posts) {
  header('Location: error.php');
}
$sidebars = obtener_post2(5,$conexion);
if (!$sidebars) {
  header('Location: error.php');
}
require 'views/index.view.php';?>

Agradezco inmensamente a quien pueda ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Call to a member function prepare() on a non-object

Publicado por xve (6935 intervenciones) el 05/08/2016 21:38:26
Hola Angelica, me da que no se ha conectado correctamente a la base de datos...

El puerto es el 443??? estas segura?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Call to a member function prepare() on a non-object

Publicado por angelica (2 intervenciones) el 06/08/2016 05:26:57
Hola, quité el número de puerto y funciona igual, me muestra "conexión establecida". Llamé al hosting que tengo y me dijeron que la conexión a la base de datos estaba bn, el problema esta en el código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar