Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: klaine en 31 Octubre 2011, 05:52 am



Título: [MYSQL] Error con consulta [SOLUCIONADO]
Publicado por: klaine en 31 Octubre 2011, 05:52 am
Hola tengo un problemilla con la sintaxis de una funcion, me he qebrado la cabeza todo el dia tratando de ver que es, se supone que hay un registro que tiene el dato 'BC3' que debiera tomar la consulta "select * from b_disponibles" (la cual es una vista), el caso es que al mostrar me muestra 0

me conecto a la base de datos de tal forma:

He probado mostrar si la conexion funka, me muestra que si

Código
  1.  
  2. mysql_connect("localhost", "root", "");
  3.  
  4. mysql_query("use providencia");
  5.  
  6.  

La funcion que me retorna el resultset es la siguiente:

Código
  1.  
  2. function getAvailableBicicles(){
  3.  
  4.                $r = mysql_query("select * from b_disponibles");
  5.  
  6.                return $r;
  7.  
  8. }
  9.  
  10.  

Luego trato de hacer lo tipico con el resultset:

Código
  1.  
  2. $row2=getAvailableBicicles();
  3.  
  4.            while($fila = mysql_fetch_array($row2)){
  5.  
  6.                $val = $fila['cod_bicicleta'];
  7.  
  8.            echo $val," <br>";
  9.  
  10.            }
  11.  
  12.  

El nombre de la columna esta bien escrito, he probado con fetch_assoc, fetch_row y nada, me muestra 0 siendo que en la tabla no hay ningun registro con ese valor  :P

Dejo la tabla bicicletas:

Código
  1.  
  2. create table bicicleta(
  3.  
  4. cod_bicicleta varchar(255) not null primary key,
  5. estado varchar(6) not null -- 'usando' o 'libre'
  6.  
  7.  
  8.  

La vista bicicletas libres:

Código
  1.  
  2. create view b_disponibles as
  3. select * from bicicleta where estado ='libre';
  4.  
  5.  

Finalmente los inserts:

Código
  1.  
  2. insert into bicicleta(cod_bicicleta, estado)values('bc1', 'usando');
  3. insert into bicicleta(cod_bicicleta, estado)values('bc2', 'usando');
  4. insert into bicicleta(cod_bicicleta, estado)values('bc3', 'libre');
  5.  
  6.  

Antes de la creacion de las tablas esta la creacion de bases de datos y su uso xD (por si acaso)

Código
  1.  
  2. drop database if exists providencia;
  3. create database providencia;
  4. use providencia;
  5.  
  6.  

De antemano, gracias por sus respuestas.

PD: En la shell de mysql funka  :-\


Título: Re: [MYSQL] Error con consulta
Publicado por: Ari Slash en 31 Octubre 2011, 06:09 am
perdon xD mal post


Título: Re: [MYSQL] Error con consulta
Publicado por: adastra en 31 Octubre 2011, 12:03 pm
Probablemente te falla porque tiras de una vista, has intentado ejecutar directamente la consulta contra la tabla? sin intentar ejecutar la vista?


Título: Re: [MYSQL] Error con consulta
Publicado por: klaine en 31 Octubre 2011, 13:43 pm
Probablemente te falla porque tiras de una vista, has intentado ejecutar directamente la consulta contra la tabla? sin intentar ejecutar la vista?

Hace poco lo hice, tampoko me funka, pero si me funka desde la shell de mysql


Título: Re: [MYSQL] Error con consulta
Publicado por: s00rk en 1 Noviembre 2011, 00:14 am
Yo prefiero usar mysql_fetch_object se me hace mucho mejor , aunque en si entre ellas no hay mucha diferencia pero nunca me ha dado problemas talvez y te funcione  :rolleyes:

Código
  1. $row2=getAvailableBicicles();
  2.  
  3. while($fila = mysql_fetch_object($row2))
  4. {
  5.    $val = $fila->cod_bicicleta;
  6.    echo $val." <br>";
  7. }


Título: Re: [MYSQL] Error con consulta
Publicado por: klaine en 1 Noviembre 2011, 02:41 am
Lol, por arte de magia ahora funka  :¬¬, no se me que me dió por ejecutarlo para ver una vez mas ese 0, funciona sin haberle hecho ningun cambio, pero gracias de todas formas, aprendi cosas que no esperaba aprender  :xD

 :silbar:

Habrá sido cosa del chrome o quizas del netbeans? o a lo mejor habrá sido un agujero negro que interseccionó con la luz reflejada del planeta venus que me impidió toda la tarde de ayer ver el correcto resultado del programa? si, yo creo que la última es la más lógica

Saludos! y, una vez mas gracias!


Título: Re: [MYSQL] Error con consulta [SOLUCIONADO]
Publicado por: Shell Root en 1 Noviembre 2011, 04:43 am
A ver, podrías intentar poniendo algunas excepciones o mensajes para ver en que depronto está fallando, por ejemplo...

Código
  1. $handler = mysql_connect('127.0.0.1', 'root', '');
  2. if (!$handler) {
  3.    die ('<b>Error</b>: ' . mysql_error());
  4. }
  5. $dbSelected = mysql_select_db('providencia', $handler);
  6. if (!$dbSelected ) {
  7.    die ('<b>Error</b>: ' . mysql_error());
  8. }

Primero intenta la conexión, si es correcta, pasaremos a otro punto. Espero tu respuesta.