Tengo un error de sintaxis en un Update pero no encuentro el fallo, el código del update es este:
Código:
el campo idPrimKEYPER es una PK autonumérica que en el resto del código utilizo para otras querys y funciona. Estoy desconcertado, he mirado el manual de Update de MYSQL y no he visto ningúna dsicrepancia con mi sintaxis .$activRECQuery = "UPDATE personas SET codigoACT=$actiCODE WHERE idPrimKEYPER=&idPER;" $resultActivREC = mysql_query($activRECQuery);
$acticode es una variable concatenada formada por una rand y la PK del registro, y el campo de destino es varchar.
Aqui el código completo del tema.
...no sé ¿Alguien me puede ayudar?
Gracias por adelantado,
J.
Código PHP:
<?php session_start();
// form submitted
//Seleccciono los daots de conexión a la BBDD
$host = "AAA";
$user = "BBB";
$pass = "CCC";
$db = "DDD";
// Recojo las entradas del formulario, compruebo y doy mensajes de error si no está bien
//Campos de Tabla personas
if($nombre = empty($_POST['nombre'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un nombre\"); window.history.back(); </script>"; exit;}
if($apellido1 = empty($_POST['apellido1'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 1º\"); window.history.back(); </script>"; exit;}
if($apellido2 = empty($_POST['apellido2'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 2º\"); window.history.back(); </script>"; exit;}
//Campos de Tabla Direcciones
if ($direccion = empty($_POST['direccion'])) {echo "<script type=\"text/javascript\">alert(\"Debes poner una dirección\");
window.history.back();
</script>";
exit; };
if ($poblacion = empty($_POST['poblacion'])) {echo "<script type=\"text/javascript\">alert(\"Falta la población\");
window.history.back();
</script>";
exit; };
// Abro conexión y selecciono la base de datos
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_select_db($db) or die ("Unable to select database!");
// creo query para tabla personas
$queryPER = "INSERT INTO personas (nombre,apellido1,apellido2) VALUES ('$nombre', $apellido1','$apellido2')";
// ejecuto query para tabla personas
$result = mysql_query($queryPER) or die ("Error in queryPER: $queryPER. ".mysql_error());
echo "New record inserted with ID ".mysql_insert_id();
//Selecciono PK y la adjudico a la clave idPER de personas mediante una variable para crear el vinculo entre tablas (idPrimaryPER en personas con idPER en direcciones, contacto, etc...)
$selectPKper = mysql_insert_id();
$idPER=$selectPKper;
// creo query para tabla direcciones
$queryDIR= "INSERT INTO direcciones (idPER,direccion, poblacion) VALUES ('$idPER','$direccion','$poblacion')";
// ejecuto query para tabla Direcciones
$resultDIR = mysql_query($queryDIR) or die ("Error in query: $queryDIR. ".mysql_error());
echo "New record inserted with ID ".mysql_insert_id();
//Genero el código aleatorio que utilizaré para confirmación de registro
$aleatorio = rand(10000,99999);
$actiCODE = $aleatorio.&idPER;
//Genero la query de actualización y la paso a la BBDD
$activRECQuery = "UPDATE personas SET codigoACT=$actiCODE WHERE idPrimKEYPER=&idPER;"
$resultActivREC = mysql_query($activRECQuery);
// Cierro la conexión
mysql_close($connection);
?>