0

tengo este problema, no funciona un formulario para actualizar una columna de una base de datos. Seguí un tutorial para actualizar los datos. Me quedó así.

// index.php
<html>
    <head>
        <meta charset="utf-8">
        <title>modificar</title>
    </head>
    <body>
        <form class="" action="modificar.php" method="post">
            <input type="text" name="id" placeholder="id">
            <input type="text" name="equipo_local" placeholder="equipo_local">
            <input type="text" name="escudo_local" placeholder="escudo_local">
            <input type="text" name="equipo_visitante" placeholder="equipo_visitante">
            <input type="text" name="escudo_visitante" placeholder="escudo_visitante">
            <input type="submit" name="name" value="modificar">
        </form>
    </body>
</html>


<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
    <?php
        $server = "localhost";
        $user = "root";
        $pass = "";
        $bd = "datos";
        $conexion = mysqli_connect($server,$user,$pass,$bd) or die("No se conecto");

        $id = $_POST['id'];
        $equipo_local = $_POST['equipo_local'];
        $escudo_local = $_POST['escudo_local'];
        $equipo_visitante = $_POST['equipo_visitante'];
        $escudo_visitante = $_POST['escudo_visitante'];

        mysqli_select_db($conexion,$bd) or die("error");
        mysqli_query("UPDATE equipos SET equipo_local = '$equipo_local', escudo_local='$escudo_local',equipo_visitante = '$equipo_visitante', escudo_visitante='$escudo_visitante' WHERE id = '$id' ");
        echo "bien"
    ?>
    </body>
</html>

Pero al ejecutarlo, es decir, al introducir, el id a modificar, y los datos a modificar de ese id, me manda a "modificar.php" como tiene que ser, pero me sale esto:

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\base2\nueva\modificar.php on line 22 bien

Un Warning en la linea 22, pero me dice "bien" que quiere decir que funcionó, pero no actualiza nada.

J. Castro
  • 2,477
  • 7
  • 18
  • 31
MatiST00
  • 101
  • 1
  • 12
  • Tienes que agregar la conexion como primer parametro asi `mysqli_query($conexion, "UPDATE equipos SET equipo_local = '$equipo_local', escudo_local='$escudo_local',equipo_visitante = '$equipo_visitante', escudo_visitante='$escudo_visitante' WHERE id = '$id' ");` – alanfcm Jul 27 '18 at 21:40
  • Gracias, era eso, me sirvió perfecto, no te puedo dar puntos o como sea, pero era eso la respuesta. Mil gracias. – MatiST00 Jul 27 '18 at 21:45
  • Adicional a lo que menciona @alanfcm, la razón por la que te dice "bien" es porque no esta correctamente implementado. Solo estas imprimiendo "bien", lo correcto seria validar con un if y el apoyo de funciones de error de php para verificar si existe o no el error. – Jose Melendez Jul 27 '18 at 21:45
  • Esto es para una página de poco trafico, para actualizar los datos una vez a la semana, afecta mucho eso? – MatiST00 Jul 27 '18 at 21:51
  • 4
    Posible duplicado de [Warning: mysqli\_query() expects parameter 1 to be mysqli](https://es.stackoverflow.com/questions/105641/warning-mysqli-query-expects-parameter-1-to-be-mysqli) , además recomiendo pasar por [¿Qué es la inyección SQL y cómo puedo evitarla?](https://es.stackoverflow.com/questions/10518/qu%C3%A9-es-la-inyecci%C3%B3n-sql-y-c%C3%B3mo-puedo-evitarla) – Dev. Joel Jul 27 '18 at 21:53
  • Y si quiero editar el id 0 y el id 1, y así a la vez, como sería? – MatiST00 Jul 27 '18 at 21:57

0 Answers0