hola como estan?, soy nuevo en php y estaba haciendo un curso php/mysql en internet
todo maso menos va bien hasta que quiero hacer una basica pagina de busqueda, este es mi codigo
<?php
$busqueda=$_GET["buscar"];
$db_host="localhost";
$db_nombre="ods_db";
$db_usuario="root";
$db_contra="";
$conexion = mysqli_connect("127.0.0.1", "root", "", "ods_db");
if (mysqli_connect_errno()){
echo "fallo en la conexion al servidor";
exit();
}
mysqli_select_db($conexion, $db_nombre) or die('no se encuntra la db');
mysqli_set_charset($conexion, "utf8");
$consulta="SELECT * FROM hoja1 WHERE='$busqueda'";
$resultado= mysqli_query($conexion, $consulta);
$filas=mysqli_fetch_array($resultado, MYSQLI_ASSOC());
echo $filas['SEDE'];
mysqli_close($conexion);
?>
me tira este error
Fatal error: Uncaught Error: Call to undefined function MYSQLI_ASSOC() in C:\xampp\htdocs\web de prueba\Php prueba\busqueda.php:26 Stack trace: #0 {main} thrown in C:\xampp\htdocs\web de prueba\Php prueba\busqueda.php on line 26
lo que quiero es obviamente que me devuelva la consulta que hago por medio de un formulario html
Creo que el error está acá:
$consulta="SELECT * FROM hoja1 WHERE='$busqueda'";
La parte donde dice WHERE indica "donde" y la sintáxis sería: "Seleccionar (todo) de hoja1 DONDE columna = $busqueda". Te falta indicar eso justamente, cuál es la columna en la que queres comparar el valor de la variable $busqueda. Supongamos que queres obtener los datos del usuario y solo tenes el id, sería algo como esto:
$consulta = "SELECT * FROM hoja1 WHERE id='$busqueda";
gracias penguin por responder tan rapido. probe de cambiar el codigo..pero no funciona..
me sigue tirando el mismo error.
no se me ocurre nada ya..
el error que menciona Penguin es un error que efectivamente debe ser corregido, pero no es el que está lanzando el mensaje
el que te está lanzando el mensaje es el MYSQLI_ASSOC() ya que MYSQLI_ASSOC no es una funcion y no lleva parentesis, es una constante y se usa sin más
mira los ejemplos
http://php.net/manual/es/mysqli-result.fetch-array.php (http://php.net/manual/es/mysqli-result.fetch-array.php)
/* array asociativo */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
a demás puedes usar directamente mysqli_fetch_assoc() (http://php.net/manual/es/mysqli-result.fetch-assoc.php) como indica en esa misma pagina de documentación
Gracias engel lex! si es eso, ya lo arregle.