tengo un problemilla...al hacer una consulta SQL preguntando por la existencia de un registro filtrando por 2 campos...se produce un error al querer insertar el nuevo registro si mysql_num_rows arroja 0.
He intentado de todo y no logro hacer que funcione...la verdad e que he quedado pegado con este código...les ruego su ayuda.
Este es el Código del INFIERNO:
Código PHP:
function AgregarCliente($Variables)
{
$valores = explode(",",$Variables);
$valores[0] = GetSQLValueString($valores[0],"text");
$valores[1] = GetSQLValueString($valores[1],"text");
$valores[2] = GetSQLValueString($valores[2],"text");
$valores[3] = GetSQLValueString($valores[3],"text");
$valores[4] = GetSQLValueString($valores[4],"int");
$valores[5] = GetSQLValueString($valores[5],"text");
$valores[6] = GetSQLValueString($valores[6],"text");
$valores[7] = GetSQLValueString($valores[7],"text");
$valores[8] = GetSQLValueString($valores[8],"text");
$valores[9] = GetSQLValueString($valores[9],"int");
$lnk = Conectar();
echo "<span class='TextoNormal'>-> Verificando si existe el cliente.</span><br>";
$verificar = mysql_query("SELECT * FROM clientes WHERE cli_rut=$valores[0] or cli_nom=$valores[1]",$lnk);
if(mysql_num_rows($verificar)>=1)
{
echo "<span class='TextoNormal'>-> El Cliente ya existe.</span><br>";
mysql_free_result($verificar);
mysql_close($lnk);
return false;
}
else
{
echo "<span class='TextoNormal'>-> El Cliente no existe, se procede a su creación...</span><br>";
mysql_free_result($verificar);
$agregar = mysql_query("INSERT INTO clientes (cli_cod, cli_rut, cli_nom, cli_gir, cli_dir, cli_ciu_cod, cli_fono1, cli_fono2, cli_email, cli_url, cli_tipcli_cod) VALUES ('',$valores[0],$valores[1],$valores[2],$valores[3],$valores[4],$valores[5],$valores[6],$valores[7],$valores[8],$valores[9])",$lnk);
if($agregar == 1)
{
echo "<span class='TextoNormal'>-> Registro exitoso del Cliente.</span><br>";
mysql_close($lnk);
return true;
}
else
{
echo "<span class='TextoNormal'>-> No se ha podido registrar al Cliente. Si el problema persiste consulte con el administrador de red.</span><br>";
mysql_close($lnk);
return "error";
}
}
}
E AQUI EL PROBLEMA:....cuando los registro ya existen, no hay problema...el script me arroja que el registro ya existe y no inserta el nuevo registro. Pero A VECES....( la mayor parte de las veces ) cuando el registro no existe, el script me arroja que el registro si existe, y de igual forma inserta el nuevo registro....
A alguien se le ocurre que cosa estoy haciendo mal.....ya llevo varios días tratando de solucionar el problema pero no he podido... Desde ya muchas gracias..