Foros del Web » Programando para Internet » PHP »

2 errores en mysql_fecth_array

Estas en el tema de 2 errores en mysql_fecth_array en el foro de PHP en Foros del Web. Código PHP: Warning :  mysqli_fetch_array ()  expects parameter 1 to be mysqli_result ,  boolean given in  /var/ www / html / php / select / select . php on line 23 Warning :  mysqli_free_result ()  ...
  #1 (permalink)  
Antiguo 17/01/2011, 04:19
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
2 errores en mysql_fecth_array

Código PHP:
Warningmysqli_fetch_array() expects parameter 1 to be mysqli_resultboolean given in /var/www/html/php/select/select.php on line 23

Warning
mysqli_free_result() expects parameter 1 to be mysqli_resultboolean given in /var/www/html/php/select/select.php on line 27 
creo que el error es porque no puede comparat texto i numeros si pero en este caso
la llave primaria es el nombre

tengo que utilizar otra funcion


Código MySQL:
Ver original
  1. /*==============================================================*/
  2. /* Table: Categories                                            */
  3. /*==============================================================*/
  4. CREATE TABLE categories
  5. (
  6.     categoria_nombre VARCHAR(50) UNIQUE NOT NULL,
  7.     CONSTRAINT pk_categories PRIMARY KEY (categoria_nombre)
  8. )CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB;
  9.  
  10. INSERT INTO categories(categoria_nombre) VALUES ("pasteles modernos");
  11. INSERT INTO categories(categoria_nombre) VALUES ("pasteles classicos");


Código HTML:
Ver original
  1. <form id="formulario" method="get" action="select.php">
  2.  
  3. <label for="categoria_nombre">Categoria</label> <br/>
  4. <select id="categoria_nombre" name="categoria_nombre">
  5.   <optgroup label="categoria">
  6.     <option value="pasteles modernos" selected="selected">pasteles modernos</option>
  7.     <option value="pasteles classicos">pasteles classicos</option>
  8.   </optgroup>
  9. <input type="submit" name="enviar" value="Aceptar">
  10. </form>

Código PHP:
<?php
 $categoria_nombre
=$_GET["categoria_nombre"];

    include(
'select/select.php');
    
$link mysqli_connect($hostname,$user,$password,$database);
    
$query "select categoria_nombre from categories where categoria_nombre=".$_GET[categoria_nombre]."  group by categoria_nombre  ";
    
$result mysqli_query($link,$query);

    while (
$row mysqli_fetch_array($result,MYSQLI_ASSOC)){
        echo 
$row['categoria_nombre'];
    }
         
/* free result set */
mysqli_free_result($result);
/* close connection */
mysqli_close($link);
?>
</body>
</html>
  #2 (permalink)  
Antiguo 17/01/2011, 04:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: 2 errores en mysql_fecth_array

Creo que hay más errores que este pero paso a paso:
Código PHP:
$query "select categoria_nombre from categories where categoria_nombre='".$categoria_nombre."'  group by categoria_nombre  "
categoria_nombre es un string, por ende ha de ir entre comillas al estar dentro de una sentencia sql. Además te recomendaria tambien untilizar la variable que has creado, ya que ocupa espacio, si no la utilizas eliminala y utiliza el GET
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.
  #3 (permalink)  
Antiguo 17/01/2011, 05:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: 2 errores en mysql_fecth_array

ahora ya me funciona gracias
que me recomiendas utilizar la variable o el get mejor el get no porque asi no utilizo memoria

'select categoria_nom from categories where categoria_nombre="'.$_GET[categoria_nombre].'"';

"select categoria_nombre from categories where categoria_nombre='".$_GET[categoria_nombre]."'";
  #4 (permalink)  
Antiguo 17/01/2011, 05:20
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: 2 errores en mysql_fecth_array

Yo utilizaria el GET, pero solo porque lo utilizas solo una vez. Si lo llegases a utilizar por ejemplo 5 veces, utilizaria una variable, más que nada por comodidad.
Y personalmente yo siempre con el get y el post utilizo las '. Ejemplo: $_POST['id'];
__________________
Siempre fallaras el 100% de los tiros que no te atrevas a lanzar.
El 98% de los adolescentes han fumado, si eres del dichoso 2% que no lo ha hecho, copia y pega esto en tu firma.

Etiquetas: Ninguno
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 03:52.