Cita:
Iniciado por repara2 No se puede agregar o actualizar una tabla secundaria: restricción de clave externa fallaComprueba que el usuario exista y que el INSERT está correctamente escrito.
Tu select de usuario no comprueba si hay o no resultados, de manera que si el usuario no existe o no se encuentra, el script continúa.
Salu2
efectivamente, estaba escribiendo mal el encapsulado de VALUES.
finalmente el método quedó así
Código PHP:
Ver originalpublic function crea_post($titulo,$usuario,$post,$fechahora) //recibe los valores necesarios para el post
{
$consulta="SELECT id, usuario from usuarios where usuario='".$usuario."'"; //selecciono el id y el usuario, donde el usuario coincida con el recibido por parámetro
$result_conexion=Conectar::connect($consulta); //conecto a la base de datos
while($resultado=mysql_fetch_array($result_conexion))//mientras $resultado reciba valores {
$id=$resultado['id']; //escojo la id del usuario
}
//finalmente con la id del usuario lo que hago en la siguiente conexion a base de datos es insertar en el campo id_usuarios el valor int obtenido anteriormente
$crea_post="INSERT INTO posts VALUES (null, '".$titulo."', '".$id."', '".$post."', '".$fechahora."')";
$result_conexion=Conectar::connect($crea_post); //conecto a la base de datos e inserto
echo "Entrada publicada con éxito";
}
respecto a lo que comentas del SELECT ¿cómo se hace para que en caso de que no exista un valor o no se cumpla la condición el script no continúe?
gracias :)