Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/07/2004, 09:28
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si te refieres a detectar algún posible error con la creación del registro en sí .. pudes usar mysql_query() bajo un condicional y obtener el código/mensaje de error própio de Mysql con:

Código PHP:
if (!@mysql_query("INSERT ...")){
echo 
"Se produjo un error al crear el registro: ".mysql_error();
// terminas la ejecución de tu script si lo deseas ...
exit;

La @ delante de la función indica que no quiero mostrar los mensajes de error de PHP ya que voy a gestionarlo con mi própia lógica.

Ahora, eso sería controlar el "error" físico de Mysql (fallá la conexión y no se puede ejecutar la consulta .. o un error de SQL . etc ...)

Si lo que deseas es verificar la existencia de algún valor de cierto campo de tu BD (de tada la tabla) antes de crear tu registro físicamente para evitar duplicados .. deberías hacer una consulta SQL de SELECT bajo la condición del campo que requieras (WHERE campo=$condicion) y ver si te arroja 1 resultado . .si es así tu "registro" existe y podrás mostrar el mensaje que corresponda. A todo esto te puede ayudar indicar como propiedad del campo que no se ha de repetir en tu BD el tipo "UNIQUE", lo cual .. si intentas crear un campo duplicado que sea de esta propiedad .. Mysql te dará un error carcacterístico; algo tipo: "... Key duplicate ..." .. que, como mensaje de error puedes gestionarlos con mysql_errorn() (que obtiene el nº de código de error) y así hacer tu "IF" para mostrar el error "personalizado" como quieras. Esta sería otra técnica para controlar y evitar "registros duplicados". Por mi parte prefiero usar la otra opción.

Un saludo,

Última edición por Cluster; 29/07/2004 a las 09:29