Comunidad de diseño web y desarrollo en internet online

Colaboracion obtencion de datos

Citar            
MensajeEscrito el 13 Sep 2016 03:56 am
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..

Código :

<?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..

Código :

<?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

Por nitramara

30 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Sep 2016 02:14 pm
Estás mezclando dos formas de acceder distintas. Si usas PDO el query es

$link->query("SET NAMES 'utf8'");

Si vas a usar la librería estandard es asi

mysqli_query($link, "Select ...."

Para una conexión estandard seria aso

Código PHP :

function conectaBaseDatos(){
    try{
      $servidor = "localhost";
      $puerto = "xxxx";
      $basedatos = "word";
      $usuario = "root";
      $contrasena = "123456789";
      $conexion = mysqli_connect($servidor, $usuario, $contrasena, $basedatos);
      return $conexion;
   }
   catch ($e){
      die ("No se puede conectar a la base de datos". $e->getMessage());
   }
}


Luego quita la linea $link->query("SET NAMES 'utf8'"); porque te va a dar error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Sep 2016 12:30 am
Hola, muchas gracias por la informacion, lo solucione asi:

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>';
}
?>

Por nitramara

30 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Sep 2016 12:13 pm
Muy bien, ten en cuenta que tienes que elegir entre usar PDO, que es una forma de abstraerte de la base de datos específica (y por lo tanto el mas recomendable) o una forma de acceder directamente a un tipo específico de base de datos (mysqli_XXXX), lo cual puede ser si no piensas migrar a otro tipo de BD. Lo que no puedes es mezclar.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.