Las llamadas a funciones como mysql_error() o mysql_errno() no es necesario indicar la $conexion, pero si lo defines tendrás que USARLO EN TODAS las funciones de Msyql que lo requieran .. NO puedes dejarte algunas si y otras no . .Para eso, no te compliques y no lo uses .. no es necesario si un script PHP sólo maneja una conexión a una BBDD. OJO con esto!.
No hagas esto:
if(mysql_num_rows($result))
Usa algo tipo:
if(mysql_num_rows($result)>0)
Tampoco uses:
$id_com==""
usa de preferencia:
empty()
No uses:
$result=mysql_db_query() .. no debes usarlo aunque funcione (ref.: php.net)
usa:
Selecciona la BBDD despues de tu mysql_connect() ..
mysql_select_db($tu_bbdd);
Y luego vas haciendo consultas según necesites:
mysql_query($sql) .....
Esto tampoco sería del todo correcto:
if(mysql_affected_rows($conexion))
Si tu "preguntas" cuantas filas son "afectadas" por una taréa de INSERT a tu BBDD .. es normal que veas por ese dato .. Si ingresas UN registro .. ahí debes esperar 1.
if(mysql_affected_rows($conexion) == 1)
Un saludo,