Function for creating unique md5 keys in a database. If there are duplets, then a new md5-key will be generated. For your use:
function users_md5create($id){
global $mysql_link;
while ($done==0) {
$md5key = md5(time().($id/2).$loop).md5(time().$id.$loop);
$query = "INSERT INTO users_md5create SET md5key='$md5key', fkey='$id', created=UNIX_TIMESTAMP() ";
$mysql_result = mysql_query($query, $mysql_link);
if(mysql_errno($mysql_link)!=1062) $done=1;
$loop++;
}
return($md5key);
}
mysql_errno
(PHP 4, PHP 5)
mysql_errno — Devuelve el valor numérico del mensaje de error de la última operación MySQL
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:
Descripción
$link_identifier = NULL
] )Devuelve el número de error de la última función MySQL.
Los errores que provienen del procesamiento de la base de datos MySQL ya no emiten advertencias. En su lugar, utilice mysql_errno() para recuperar el código de error. Tenga en cuenta que ésta función solamente devolverá el código de error de la función MySQL ejecutada mas recientemente (sin incluir a mysql_error() y mysql_errno()), por lo que, si se quiere usar, hay que asegurarse de revisar el valor antes de llamar otra función MySQL.
Parámetros
-
link_identifier -
La conexión MySQL. Si el identificador de enlace no se especifica, el último enlace abierto por mysql_connect() es asumido. Si no se encuentra dicho enlace, la función intentará establecer un nuevo enlace como si mysql_connect() fuese invocado sin parámetros. Si no se encuentra o establece una conexión, un error de nivel
E_WARNINGes generado.
Valores devueltos
Devuelve el número de error de la última función de MySQL, o 0 (cero) si no ha ocurrido ningún error.
Ejemplos
Ejemplo #1 Ejemplo de mysql_errno()
<?php
$enlace = mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");
if (!mysql_select_db("bd_inexistente", $enlace)) {
echo mysql_errno($enlace) . ": " . mysql_error($enlace). "\n";
}
mysql_select_db("kossu", $enlace);
if (!mysql_query("SELECT * FROM tabla_inexistente", $enlace)) {
echo mysql_errno($enlace) . ": " . mysql_error($enlace) . "\n";
}
?>
El resultado del ejemplo sería algo similar a:
1049: Unknown database 'bd_inexistente' 1146: Table 'kossu.tabla_inexistente' doesn't exist
Ver también
- mysql_error() - Devuelve el texto del mensaje de error de la operación MySQL anterior
- » Códigos de error de MySQL
All mysqld error messages are located into the file /usr/local/share/mysql/english/errmsg.txt and listed in numerical order from 999 to 1175. You can change the output language as well, issuing the '-L spanish' option for example. See the manual for more details.
If you are receiving errors like:
Warning: mysql_close(): 5 is not a valid MySQL-Link resource
Check that you are calling mysql_error() and mysql_errno() BEFORE you call mysql_close().
Watch out! Although mysql_errno() supposedly returns the error number from the last MySQL function, if you don't specify a link identifier, it assumes the last link *opened*, NOT the last link *used*.
That means you can actually have mysql_errno() blindly ignore the error caused by the last MySQL function if it didn't use the last opened link.
Here's an example:
$link1 = mysql_connect('localhost', 'user1', 'password1');
$link2 = mysql_connect('localhost', 'user2', 'password2');
// do something wrong using the first link
mysql_select_db('nonexistentdb', $link1);
// if you don't specify the link identifier ...
if (mysql_errno()) {
// the error from the last MySQL function is not reported
echo mysql_errno() . ': ' . mysql_error() . "\n";
}
All MySQL ErrorCodes can be found in its' on-line manual.
For lazy one here is the link :
http://dev.mysql.com/doc/refman/5.0/en/error-handling.html
