Ver Mensaje Individual
  #11 (permalink)  
Antiguo 07/11/2014, 14:38
raulgranadosraul
 
Fecha de Ingreso: julio-2013
Mensajes: 174
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Problema al cambiar de mysql a mysqli

Cita:
Iniciado por Alexis88 Ver Mensaje
Asegúrate de que la conexión se realice correctamente y de que la consulta sea correcta y devuelva resultados.

Código PHP:
Ver original
  1. $mysqli = mysqli_connect("xxx.es", "xxx", "xxxxxx", "xxx_BD");
  2.  
  3. //Si la conexión falla
  4. if (!$mysqli) exit ('No se pudo conectar');
  5.  
  6. $Recordset1 = mysqli_query($mysqli, "SELECT * FROM xxx_BD ORDER BY RAND()") or exit ('No se pudo ejecutar la consulta');
  7.  
  8. //Solo si la consulta devuelve resultados, continúas con el resto
  9. if (mysqli_num_rows($Recordset1)){
  10.     $row_Recordset1 = mysqli_fetch_assoc($Recordset1);
  11.     $totalRows_Recordset1 = mysqli_num_rows($Recordset1);
  12.     //Lo demás
  13. }

También te sugiero ejecutar la consulta en tu administrador de BD (quizá sea phpMyAdmin) para asegurarte de que sea correcta.

Saludos
Gracias alexis.
He probado la consulta en phpMyadmin directamente y me devuelve los resultados correctamente. El problema es que no puedo conectar.
Te copio las dos conexiones con las que trabajo a ver si puedes decirme algo.... la verdad es que le he dado un monton de vueltas pero no logro conectar. Incluso he añadido la IP de mi pc a la lista de host permitidos y nada.
Esta es la conexion que vengo usando normalmente con mysql:
Código PHP:
Ver original
  1. <?php
  2. # FileName="Connection_php_mysql.htm"
  3. # Type="MYSQL"
  4. # HTTP="true"
  5. $hostname_serv = "xxx.es";
  6. $database_serv = "xxx_BD";
  7. $username_serv = "xxx";
  8. $password_serv = "xxxxxx";
  9. $serv = mysql_pconnect($hostname_serv, $username_serv, $password_serv) or trigger_error(mysql_error(),E_USER_ERROR);
  10. ?>
Al darme errores la web cambie a mysqli pero trato de encontrar el error y no lo veo, esta es la conexion:
Código PHP:
Ver original
  1. <?php
  2.  function Conectarse() {
  3.         if (!($link = new mysqli(’xxx.es’, ’xxx’, ’xxxxxx’))) {
  4.             echo "Error conectando al servidor de base de datos.";
  5.             exit();
  6.         }
  7.        
  8.         if (!($link->select_db(xxx_BD))) {
  9.             echo "Error seleccionando la base de datos.";
  10.             exit();
  11.         }
  12.         return $link;
  13.     }
  14. ?>
En la consulta en vez de hacer un include a la conexion tengo lo siguiente:
Código PHP:
Ver original
  1. $mysqli = mysqli_connect("xxx.es", "xxx", "xxxxxx", "xxx_BD");
  2. $Recordset1 = mysqli_query($mysqli, "SELECT * FROM xxx_BD ORDER BY RAND()");
  3. $row_Recordset1 = mysqli_fetch_assoc($Recordset1);
  4. $totalRows_Recordset1 = mysqli_num_rows($Recordset1);
como no me tira he probado con tu opcion, la siguiente:
Código PHP:
Ver original
  1. $mysqli = mysqli_connect("xxx.es", "xxx", "xxxxxx", "xxx_BD");
  2.  
  3. //Si la conexión falla
  4. if (!$mysqli) exit ('No se pudo conectar');
  5.  
  6. $Recordset1 = mysqli_query($mysqli, "SELECT * FROM xxx_BD ORDER BY RAND()") or exit ('No se pudo ejecutar la consulta');
  7.  
  8. //Solo si la consulta devuelve resultados, continúas con el resto
  9. if (mysqli_num_rows($Recordset1)){
  10.     $row_Recordset1 = mysqli_fetch_assoc($Recordset1);
  11.     $totalRows_Recordset1 = mysqli_num_rows($Recordset1);
  12.     //Lo demás
  13. }
y la respuesta es NO SE PUDO CONECTAR. Con lo que si me hace bien la consulta en php myadmin y el problema es que no puedo conectar....el problema esta al conectar...pero por mas vueltas que le doy no logro ver la solucion POR MÁS MANUALES QUE CONSULTE SINCERAMENTE.