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

Hola a todos amigos del web. Tengo varias webs creadas hace tiempo con myslq en BD, pero solo una de ellas me ha dejado de funcionar. He probado a actualizar a mysqli y parece ser ese el error (aunque las otras webs funcionan bien ).

El caso es que he realizado algunos cambios y ahora funciona la web pero no me muestra el resultado de la consulta. Os explico a ver si me podéis echar una mano.

He cambiado esta conexion
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. ?>
por esta nueva
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. ?>

Con este cambio he arreglado la conexión aunque luego no la utilizo. Continúo.
La consulta de la base de datos la he cambiado de esta
Código PHP:
Ver original
  1. <?php
  2. mysql_select_db($database_serv, $serv);
  3. $query_Recordset1 = "SELECT * FROM xxx_BD ORDER BY ORDER BY RAND()";
  4. $Recordset1 = mysql_query($query_Recordset1, $serv) or die(mysql_error());
  5. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  6. $totalRows_Recordset1 = mysql_num_rows($Recordset1);
  7. ?>
a la actualización de mysqli siguiente
Código PHP:
Ver original
  1. <?php
  2. $mysqli = mysqli_connect("xxx.es", "xxx", "xxxxxx", "xxx_BD");
  3. $Recordset1 = mysqli_query($mysqli, "SELECT * FROM xxx_BD ORDER BY RAND()");
  4. $row_Recordset1 = mysqli_fetch_assoc($Recordset1);
  5. $totalRows_Recordset1 = mysqli_num_rows($Recordset1);
  6. ?>
Con este cambio la web funciona y lo que decía antes, no me hace falta incluir la conexión que he puesto al principio pues está aqui.

Hasta aqui todo bien, lo que ocurre es que en el momento de mostrar el resultado tengo lo siguiente
Código PHP:
Ver original
  1. <?php do { ?>
  2.                 <li><img src="slider/data1/images/<?php echo $row_Recordset1['strImagen']; ?>" title="<?php //título de la foto de bd ?>" id="wows1_0" height="400px" width="400px" /><?php //descripción de la foto de bd ?></li>
  3.                 <?php } while ($row_Recordset1 = mysqli_fetch_assoc($Recordset1)); ?>
La ruta donde esta la imagen es correcta pues si la pongo tal cual en el navegador funciona pero no me lo muestra en la web. De momento lo que he hecho es cambiar la ruta hacia la BD y poner una de las imágenes fijas de momento, quedando asi
Código PHP:
Ver original
  1. <?php do { ?>
  2.                 <li><img src="slider/data1/images/32.jpg" title="<?php //título de la foto de bd ?>" id="wows1_0" height="400px" width="400px" /><?php //descripción de la foto de bd ?></li>
  3.                 <?php } while ($row_Recordset1 = mysqli_fetch_assoc($Recordset1)); ?>

Es decir, lo único que he cambiado es la ruta, pero al hacer la consulta no consigo el resultado.

¿Alguna idea para eso?
Creo que he puesto toda la info pero si necesitáis algo más...pedid.
Gracias por adelantado.