PHP - Colaboracion obtencion de datos

 
Vista:
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por nitramara (22 intervenciones) el 13/09/2016 03:56:00
Hola, otra vez por aca... bueno debe ser por aquello de no ser muy ducto en este tema...
Bueno el asunto que me trae esta vez por aca es el siguiente:
Tengo esta coneccion a la DB..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function conectaBaseDatos(){
 
    try{
		$servidor = "localhost";
		$puerto = "xxxx";
		$basedatos = "word";
		$usuario = "root";
		$contrasena = "123456789";
 
		$conexion = new PDO("mysql:host=$servidor;port=$puerto;dbname=$basedatos",
							$usuario,
							$contrasena,
							array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
 
		$conexion->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
		return $conexion;
	}
	catch (PDOException $e){
		die ("No se puede conectar a la base de datos". $e->getMessage());
	}
}
?>

Esta conexion.. funciona bien.. ya que la he probado en otro script.

el lio esta ACA..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
header('Content-Type: text/html; charset=UTF-8');
 
require_once("libs/funciones.php");
require_once("libs/buscar.php");
 
$link = conectaBaseDatos();
$tildes = $link->query("SET NAMES 'utf8'");
$result = mysqli_query($link, "SELECT * FROM encuestas where id<=31 ORDER BY id ASC");
 
 
mysqli_data_seek ($result, 0);
$extraido= mysqli_fetch_array($result);
echo "- Id: ".$extraido['id']."<br/>";
echo "- Nombre: ".$extraido['nombre']."<br/>";
?>

Segun lo leido e investigado puedo llamar a otra pagina ya que la consulta la tengo en otra pagina (require_once("libs/funciones.php");), y llamar la funcion que se creo en esa pagina.. bueno eso creo ...
la idea es que pueda llamar a la DB cargar la consulta en un vector recorriendolo con un While.. pero la verdad no lo caso.. no se cual es el error.. me tira esto y no se que pueda ser..

( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\wamp\www\copia\usuarios.php on line 9
Call Stack
# Time Memory Function Location
1 0.0016 266392 {main}( ) ..\usuarios.php:0
2 0.0398 336736 mysqli_query ( ) ..\usuarios.php:9

( ! ) Warning: mysqli_data_seek() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\copia\usuarios.php on line 12
Call Stack
# Time Memory Function Location
1 0.0016 266392 {main}( ) ..\usuarios.php:0
2 0.0854 337280 mysqli_data_seek ( ) ..\usuarios.php:12

( ! ) Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\copia\usuarios.php on line 13
Call Stack
# Time Memory Function Location
1 0.0016 266392 {main}( ) ..\usuarios.php:0
2 0.1310 337240 mysqli_fetch_array ( ) ..\usuarios.php:13
- Id:
- Nombre:

Les agradeceria su colaboracion y/o ideas para ver si por fin termino esta locura..
Mil gracias
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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por kip (877 intervenciones) el 13/09/2016 04:48:23
Hola, el problema que tienes es porque usas funciones mysqli y en tu conexion usas PDO, deberias o bien usar mysqli para ambas cosas o PDO.

Usando PDO, por ejemplo:

1
2
3
4
5
6
$result = $link->query("SELECT * FROM encuestas where id<=31 ORDER BY id ASC");
 
foreach ($result as $extraido) {
	echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}

Saludos
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
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por nitramara (22 intervenciones) el 13/09/2016 05:00:48
Primero que todo muchas gracias..
Sabes si.. tienes razon.. estoy con PDO..
Tome los datos que tu me diste...

1
2
3
4
5
$result = $link->query("SELECT * FROM encuestas where id<=31 ORDER BY id ASC");
foreach ($result as $extraido) {
        echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}

Pero ahora me tira este error....

Warning: Invalid argument supplied for foreach() in C:\wamp\www\copia\usuarios.php on line 12
Call Stack
# Time Memory Function Location
1 0.0022 266128 {main}( ) ..\usuarios.php:0

yo le estoy intentando con esto pero tampoco...

1
2
3
while($dato = mysqli_fetch_object($result)){
              echo '<li><a href="encuesta.php?id='.$result->id.'">'.$result->titulo.'</a></li>';
                			}

Les agradezco su colaboracion..
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por kip (877 intervenciones) el 13/09/2016 05:13:16
Perdon, intentalo de esta forma:

1
2
3
4
5
$query= "SELECT * FROM encuestas where id<=31 ORDER BY id ASC";
foreach ($link->query($query) as $extraido) {
        echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}

O tambien de esta forma:

1
2
3
4
5
6
7
$query = "SELECT * FROM encuestas where id<=31 ORDER BY id ASC";
$result = $link->query($query);
$extraidos = $result->fetchAll();
foreach ($extraidos as $extraido) {
	echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}

Nos cuentas si te funciona.
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
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por nitramara (22 intervenciones) el 13/09/2016 05:32:01
No friegue.. Grave.. no me funciona..
sigue tirandome este error..

( ! ) Warning: Invalid argument supplied for foreach() in C:\wamp\www\copia\usuarios.php on line 11
Call Stack
# Time Memory Function Location
1 0.0012 266184 {main}( ) ..\usuarios.php:0

He utilizado este codigo..

1
2
3
4
5
$query = "SELECT * FROM encuestas where id<=31 ORDER BY id ASC";
foreach ($link->query($query) as $extraido) {
        echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}

Tambien lo intente con un while.. pero nada...
Encambio.. con este otro..
1
2
3
4
5
6
7
$query = "SELECT * FROM encuestas where id<=31 ORDER BY id ASC";
$result = $link->query($query);
$extraidos = $result->fetchAll($query);
foreach ($extraidos as $extraido) {
	echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}
me tira este error..

( ! ) Fatal error: Call to a member function fetchAll() on a non-object in C:\wamp\www\copia\usuarios.php on line 12
Call Stack
# Time Memory Function Location
1 0.0008 266496 {main}( ) ..\usuarios.php:0
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por kip (877 intervenciones) el 13/09/2016 14:24:43
Deberia funcionarte, asi es como tiene que quedar el script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
header('Content-Type: text/html; charset=UTF-8');
 
require_once("libs/funciones.php");
require_once("libs/buscar.php");
 
$link = conectaBaseDatos();
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Esta linea fue agregada
 
$query = "SELECT * FROM encuestas WHERE id <= 31 ORDER BY id ASC";
foreach ($link->query($query) as $extraido) {
        echo "- Id: ".$extraido['id']."<br/>";
	echo "- Nombre: ".$extraido['nombre']."<br/>";
}
?>

Si aun no funciona, quizas tengas problemas en tu conexion a la base de datos, es decir en el archivo php donde creas la conexion a esta.
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
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Colaboracion obtencion de datos

Publicado por nitramara (22 intervenciones) el 14/09/2016 02:32:34
Hola, primero agradecer a KIP, por los tips, que me ayudaron para resolver el caso..
Aca plasmo como solucione el asunto.

1
2
3
4
5
6
7
8
9
10
11
12
header('Content-Type: text/html; charset=UTF-8');
 
require_once("libs/funciones.php");
require_once("libs/buscar.php");
 
$link = conectaBaseDatos();
<?php
    $query = $link->query("SELECT * FROM encuestas where id<=31 ORDER BY id ASC");
    while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
        echo '<li><a href="encuesta.php?id='.$row["id"].'">'.$row["titulo"].'</a></li>';
    }
?>
Mil Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar