Foros del Web » Programando para Internet » PHP »

Consultas mysqli en php

Estas en el tema de Consultas mysqli en php en el foro de PHP en Foros del Web. Buenas tardes a todos: el dia de hoy queria consultarles que estoy empezando con mysqli y desde ya tengo una duda con su uso. resulta ...
  #1 (permalink)  
Antiguo 09/07/2015, 11:18
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Consultas mysqli en php

Buenas tardes a todos:

el dia de hoy queria consultarles que estoy empezando con mysqli y desde ya tengo una duda con su uso.

resulta que tengo dos archivos uno llamado index.php y otro llamado class.php
en el primero esta el html y en el seguno hay dos clases una llamada conectar y la otra llamada Trabajo.

mi duda esta en que en la clase trabajo hay una funcion y en ella tuve que volver a poner lo que esta en la clase conectar porque no me funcionaba me tiraba este errror:

mysqli_query() expects parameter 1 to be mysqli, null given in C:

pero al poner lo de la clase conectar en la clase trabajo si funciona:

sospecho que es algo de logica pero no he dado con el asunto a continuacion dejo mis dos archivos.

index.php:
<?php
require_once("class/class.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Prueba de conexi&oacute;n
</title>
</head>
<body>
<h2>Listado de Comentarios en el Libro de Visitas</h2>

<?php
$tra=new Trabajo();
$visitas=$tra->get_visitas();

for ($i=0;$i<sizeof($visitas);$i++)
{
echo $visitas[$i]["nombre_persona"];
echo "<br>";
}
?>
</body>
</html>


class.php:
<?php

class Conectar
{
public static function con()
{
$s="localhost";
$bd="trabajo_de_curso";
$u="root";
$p="1234";

$conexion=new mysqli($s,$u,$p,$bd);

if($conexion->connect_error){

return "no conectado";
}else
{
return "conectado";
}
}
}
//************************************************** ****************

class Trabajo
{

private $visitas;

public function __construct()
{
$this->visitas=array();
}


public function get_visitas()
{
$s="localhost";
$bd="trabajo_de_curso";
$u="root";
$p="1234";

$conexion=new mysqli($s,$u,$p,$bd);


$sql="select * from libro_de_visitas";
$res = mysqli_query($conexion, $sql)or die(mysqli_error());


while ($reg=mysqli_fetch_assoc($res))
{
$this->visitas[]=$reg;
}
return $this->visitas;
}
}
?>

muchas gracias.
  #2 (permalink)  
Antiguo 09/07/2015, 12:11
Avatar de luisdavid1993  
Fecha de Ingreso: julio-2015
Ubicación: Anaco Venezuela
Mensajes: 78
Antigüedad: 8 años, 9 meses
Puntos: 2
Respuesta: Consultas mysqli en php

llama a la clase conectar y a la función con y listo

Código PHP:
Ver original
  1. $conex=new Conectar ()
  2. $con = $conex->con();
__________________
"Lucha por tus sueños o alguien te contratara para que cumplas los de el"
  #3 (permalink)  
Antiguo 09/07/2015, 13:00
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Consultas mysqli en php

hola gracias por responder he puesto lo que me dices en la funcion get_visitas de la clase trabajo asi
public function get_visitas()
{
$conex=new Conectar ();
$con = $conex->con()


$sql="select * from libro_de_visitas";
$res = mysqli_query($con,$sql)or die(mysqli_error());


while ($reg=mysqli_fetch_assoc($res))
{
$this->visitas[]=$reg;
}
return $this->visitas;
}

pero el ide que trabajo me dice que hay un error en la linea:
$sql="select * from libro_de_visitas";
y al ejecutarlo me arroja:
Parse error: syntax error, unexpected '$sql' (T_VARIABLE) in C:\
  #4 (permalink)  
Antiguo 09/07/2015, 14:48
 
Fecha de Ingreso: mayo-2015
Mensajes: 63
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: Consultas mysqli en php

Al final pude solucionarlo modificando la clase conectar dejo el código por si le sirve de algo a alguien:

index.php

<?php
require_once("class/class.php");
//$con= new Conectar();
//echo $con;
//exit(0);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Prueba de conexi&oacute;n
</title>
</head>
<body>
<h2>Listado de Comentarios en el Libro de Visitas</h2>

<?php
$tra=new Trabajo();

$visitas=$tra->get_visitas();

for ($i=0;$i<sizeof($visitas);$i++)
{
echo $visitas[$i]["nombre_persona"];
echo "<br>";
}
?>
</body>
</html>

clase class.php
<?php
class Conectar extends mysqli{

public function __construct(){

parent::__construct('localhost','root','123','trab ajo_de_curso');
$this->query("SET NAMES 'utf8'");
$this->connect_errno ? die('Error con la conexion'): $x = 'Conectado';
//echo $x;
unset($x);
}
}
//************************************************** ***************

class Trabajo
{

//private $visitas=array();
private $visitas;

public function __construct()
{
$this->visitas=array();
}

public function get_visitas()
{
$res=new Conectar();
$sql= $res->query("select * from libro_de_visitas");


while ($reg=mysqli_fetch_assoc($sql))
{
$this->visitas[]=$reg;
}
return $this->visitas;
}
}
?>

Etiquetas: html, mysql, mysqli, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.