Esto está
mal:
Código PHP:
$consulta = mysql_query("SELECT * FROM productos WHERE 'prod-id' =".$_GET['id']."") or die(mysql_error());
Tienes que tener en cuenta que PHP y SQL tienen sus propias reglas sintácticas, y cada uno en su entorno tiene que respetarlas.
No es lo mismo para SQL que uses apóstrofos (') que acentos agudos (`).
En MySQL los apóstrofos se usan para cadenas de texto y los
acentos agudos se usan para los nombres de bases, tablas, columnas y todo objeto de bases de datos, y son obligatorios cuando metes la pata poniendo como nombres palabras reservadas, o signos
incorrectos como "-", o bien espacios en blanco. Eso es un error de los catastróficos.
No se hace.
En definitiva, no puedes poner el campo "prod-id" entre apóstrofos porque eso
no es el nombre del campo sino una cadena de texto que dice "prod-id" Código PHP:
$consulta = mysql_query("SELECT * FROM productos WHERE `prod-id` =".$_GET['id']) or die(mysql_error());
Por otro lado, como podrás ver, el último '.""' es irrelevante. No pongas cosas que no afecten la query.
Además de eso es muy mala práctica poner a crear la query dentro de la funcion de ejecución mysql_query(), es mucho mejor, por limpieza de código y para poner hacer ulteriores verificaciones de sintaxis, que la cargues en una variable:
Código PHP:
$qry = "SELECT * FROM productos WHERE `prod-id` =".$_GET['id'];
$consulta = mysql_query($qry) or die(mysql_error());
No uses jamás en los nombres de objetos de base de datos símbolos aritméticos, lógicos, espacios o palabras reservadas. Y tampoco palabras en inglés simples o vocales acentuadas.