phpmysqlmysql-error-1062

Display error message in php for MYSQL duplicate error


I am using UNIQUE Constraint in my table for two columns to prevent duplicate rows. If I try to insert a row with the same 2 columns I get

A Database Error Occurred Error Number: 1062

Duplicate entry '62-88' for key 'subscription'

INSERT INTO subscriptions (user_id, subscribed_to, date) VALUES ('62', '88', '2011-07-11 19:15:13')

Filename: C:\wamp\www\mysite\system\database\DB_driver.php

Line Number: 330

How can I return a php error, e..g Already subscribed! instead of displaying the mysql error?


Solution

  • Call mysql_errno() after your mysql_query() and check for 1062.

    Note: It's a more common/intuitive solution to query the database first. See answer by Manocho.