Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] migrar a mysqli, if y else ya no funciona comprobado

Estas en el tema de migrar a mysqli, if y else ya no funciona comprobado en el foro de Mysql en Foros del Web. Hola, Al final no funcionaba y he tenido que cambiar los queries mucho, he conseguido hacer funcionar los primeros ifs, pero despues el else no ...
  #1 (permalink)  
Antiguo 20/01/2014, 14:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
migrar a mysqli, if y else ya no funciona comprobado

Hola,
Al final no funcionaba y he tenido que cambiar los queries mucho,
he conseguido hacer funcionar los primeros ifs,
pero despues el else no se ejecuta para nada.
He puesto el else en una pagina aparte y solo funciona,
asi que pues ya ni idea.

Esta primera parte funciona:
Código PHP:
if (!empty($_SESSION['reservas']['paso1']['percentage']) && !empty($_SESSION['reservas']['paso1']['terms'])) {    
if (
$salida $llegada){
//esto imprime:<br>
echo "test"
Este segundo query tuve que cambiar, antes usaba if {
do{
while }
}
Y ahora lo tengo asi y funciona:
Código PHP:
//miramos si disponible
$consulta ="SELECT DATE_FORMAT(llegada, '%e %b %Y') as lleg, DATE_FORMAT(salida, '%e %b %Y') as sal,tiporeserva, propiedad, TO_DAYS('$salida') - TO_DAYS('$llegada') as dias from bookings where ( propiedad = '$propiedad' )
AND (('$llegada' BETWEEN llegada AND date_sub(salida, interval +1 day)) 
or ('$salida' BETWEEN date_sub(llegada, interval -1 day) AND salida) or (llegada <= '$llegada' AND salida >= '$salida') or (llegada >= '$llegada' AND salida <= '$salida'))"
;
if (
$resultado $dbh->query($consulta)) {
     while (
$row $resultado->fetch_object()) {
       if (
$row->tiporeserva=="larga"){ echo "<p>This property is available only for long term rentals, consult us for a price.</p>
"
; } 
else { 
$propiedad str_replace("_"" "$propiedad); 
echo 
"<p>$propiedad is not available from $arrival_display to $departure_display.</p>"
echo 
"<p>$propiedad is occupied from "$row->lleg ." until "$row->sal ."</p>"
}
    } 
//end while
}//fin mirar si disponible 
Ahora cuando añado un else ya no funciona lo que no funciona no es el query, porque nisiquiera imprime un echo, el query tambien lo he cambiado pensando que era el query, pero es el else que es incorrecto:
Código PHP:
else {    
//esto no imprime:
echo "test";    
$sql "SELECT llegada, salida, propiedad, TO_DAYS('$salida') - TO_DAYS('$llegada') as dias from bookings where ( propiedad = '$propiedad' ) AND ((llegada = '$salida') OR (salida = '$llegada'))"
if (
$resultado $dbh->query($sql)) {
while (
$rows $resultado->fetch_assoc()){
//esto no imprime
echo "test";
$dias=$rows['dias'];
$llegadabase=$rows['llegada'];
$salidabase=$rows['salida'];
}
}
if (
$salida==$llegadabase)

Gracias de antemano
  #2 (permalink)  
Antiguo 20/01/2014, 15:05
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: migrar a mysqli, if y else ya no funciona comprobado

Hola helenp:

No confundas temas de MySQL con temas de PHP... por si no has leido las Políticas del Foro, te comento que está ABSOLUTAMENTE PROHIBIDO colocar código de cualquier lenguaje de programación... de entrada te expones a que los administradores del Foro editen o borren tu post, y te comento que aquí en el foro de MySQL habemos muchos foristas que no trabajamos con PHP, por lo que tu mensaje resulta casi imposible de entenderse a nuestros ojos.

Debes separar tu problema y postear en el foro indicado... si el problema es de MySQL, postea sólo las consultas en SQL... si el problema como lo comentas es en el IF de PHP, entonces postea tu pregunta en el Foro de PHP

Finalmente, verifica qué exactamente lo que se está ejecutando, es decir, no des pos hecho que los parámetros traen los valores que supones que traen. He observado que un error común entre los programadores de PHP es que no verifican que los parámetros o variables no sean vacías.

Saludos
Leo
  #3 (permalink)  
Antiguo 20/01/2014, 15:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: migrar a mysqli, if y else ya no funciona comprobado

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola helenp:

No confundas temas de MySQL con temas de PHP... por si no has leido las Políticas del Foro, te comento que está ABSOLUTAMENTE PROHIBIDO colocar código de cualquier lenguaje de programación... de entrada te expones a que los administradores del Foro editen o borren tu post, y te comento que aquí en el foro de MySQL habemos muchos foristas que no trabajamos con PHP, por lo que tu mensaje resulta casi imposible de entenderse a nuestros ojos.

Debes separar tu problema y postear en el foro indicado... si el problema es de MySQL, postea sólo las consultas en SQL... si el problema como lo comentas es en el IF de PHP, entonces postea tu pregunta en el Foro de PHP

Finalmente, verifica qué exactamente lo que se está ejecutando, es decir, no des pos hecho que los parámetros traen los valores que supones que traen. He observado que un error común entre los programadores de PHP es que no verifican que los parámetros o variables no sean vacías.

Saludos
Leo
Lo siento pero me di cuenta despues, pero el problema de fondo es por migrar de mysql a mysqli.
Por eso lo vi como tema de mysql y no de php.
La página lleva años funcionando, pero como me he puesto a intentar a migrarlo a mysqli, y parece que el output no puede ser igual como antes.
Los parametros traen los valores correctamente, como dije antes es una pagina existente y funcionando y no toco para nada los parametros.
Si ves, he hecho un echo "test" y no imprime.
  #4 (permalink)  
Antiguo 20/01/2014, 15:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: migrar a mysqli, if y else ya no funciona comprobado

Lo cierro y lo abro en php y lo marco como solucionado

Etiquetas: migrar, mysqli, php, 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 18:38.