Tecnología

Inicio

Cómo evitar entradas duplicadas con PHP en MySQL

Cómo evitar entradas duplicadas con PHP en MySQL


Muchas de las aplicaciones PHP permitirán a los usuarios introducir datos que se inserta en una base de datos MySQL. Es importante para estas aplicaciones para comprobar si ya existe un registro en la base de datos MySQL antes de añadirla. Una forma reactiva de hacer esto es establecer un índice único en el campo de clave en la base de datos MySQL, añadir el registro y comprobar para ver si se ha producido un error. Sin embargo, el enfoque más elegante, es proactivo para comprobar si hay un registro duplicado antes de añadir datos a la base de datos.

Instrucciones

1 Poner en marcha un editor y crear un nuevo archivo de script PHP. Por ejemplo, escriba:

adddata.php nano

2 Crear la forma HMTL para aceptar la entrada del usuario. Establecer el método de "post" y la acción a "update.php" para enviar los resultados presentados a un "update.php" el archivo que va a crear la próxima. Por ejemplo, escriba:

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<Html xmlns = "http://www.w3.org/1999/xhtml">

<Head>

<Meta http-equiv = "Content-Type" content = "text / html; charset = UTF-8" />

<Title> Data Entry / title>

</ Head>

<Body>

<Form method = "post" action = "update.php">

<Input type = "hidden" name = "completado" value = "1" />

<P> Número de cliente: <input type = "text" name = tamaño "CUSTNUM" = "10" /> </ p>

<P> Nombre del cliente: <input type = "text" name = tamaño "custname" = "30" /> </ p>

<P> <input type = "submit" name = "submit" value = "submit" /> </ p>

</ Form>

</ Body>

</ Html>

3 Salir del editor y guardar el archivo. Iniciar el editor de nuevo y crear el archivo "update.php". Por ejemplo, escriba:

update.php nano

4 En el documento de campo oculto para garantizar que el archivo "update.php" fue llamado desde la operación "post". Por ejemplo, escriba:

<? Php

$ Completado = $ _POST [ 'completado'];

if (! $ completaron = "1") die ( "<p> La forma no completó </ p>!");

5 Extraer el número de cliente y nombre de cliente a partir de los resultados publicados. Asegúrese de que cada valor contiene datos. Por ejemplo, escriba:

número $ = (isset ($ _POST [ 'CustNo']) $ _POST [ 'CustNo']:? "";

? Nombre = $ (isset ($ _POST [ 'custname'] $ _POST [ 'custname']: "";

si (número $ == "" || $ name == "") die ( "<p> La forma no llenado correctamente </ p>!");

6 Conectarse al servidor MySQL y seleccione la base de datos deseada. Por ejemplo, escriba:

$ DBC = mysql_connect ( "localhost", "nombre de usuario", "contraseña") or die ( "<p> No se pudo conectar con el servidor de error es!" Mysql_error ().);

$ Db = mysql_select_db ( "clientes");

7 Crear y ejecutar una consulta en la base de datos que busca el número de cliente que se supone que añadir. Asegúrese de escapar correctamente las cadenas de entrada de usuario con "mysql_real_escape_string." Compruebe el valor de retorno y de salida si el número de cliente ya existe. Por ejemplo, escriba:

$ Query = "SELECT FROM clientes CustNo donde la costumbre =" 'mysql_real_escape_string ($ number).' ". ';

$ Resultado = mysql_query ($ consulta);

if (mysql_num_rows resultado && $ ($ resultado)> 0) die ( "<p> El cliente ya existe </ p>!");

8 Crear y ejecutar una consulta para insertar el nuevo cliente en la base de datos. Asegúrese de escapar correctamente las cadenas de entrada de usuario con "mysql_real_escape_string." Por ejemplo, escriba:

$ Consulta = "INSERT INTO clientes (CustNo, CUSTNAME) VALUES (" 'mysql_real_escape_string ($ number)..' "," 'Mysql_real_escape_string ($ name)..' ") ';

$ Resultado = mysql_query ($ consulta);

if (! $ resultado) die ( "<p> Error al insertar registro del cliente </ p>!");

echo "<p> Cliente añadido correctamente </ p>";

?>