Cita:
Iniciado por galaktico
Yo parto de un buscador y luego de la página resultado paso el ID a modificar por GET, luego el formulario me levanta los datos cargados en la base y allí los modifico, pero después que? si lo hago con un archivo por separado pierdo el ID y si lo hago en el mismo archivo lo tengo vacío al ID.
Me parece que sigo sin entenderlo conceptualmente.
Vamos a ver si se entiende...
Supongamos que
$_GET['id_producto'] llegue como NULL, es decir, o no llegue, o no contenga nada, o contenga un espacio en blanco o vacío.
Entonces esto:
Código PHP:
$id = $_GET['id_producto'];
Cuando hagas esto:
Código PHP:
$consulta = "UPDATE productos SET nombre='$nombre' WHERE id_producto=$id";
Generará la query para MySQL quedando así:
Y en este caso:
Código PHP:
$consulta = "SELECT * FROM productos WHERE id_producto=$id";
Quedará así:
¿Ves como en ambos casos le falta el valor de id_producto, y el segundo término de la comparación está vacío?
Bueno,
eso es lo que genera un error de sintaxis.
Recuerda que MySQL
no recibe variables de PHP, sino una cadena de texto de una consulta SQL. MySQL no entiende pHP. No sabe que le estás mandando algo, porque no le llega.
MySQL (y todo DBMS) es independiente de PHP y de cualquier lenguaje. Es un sistema separado.