otra cosa que quiero agregar es que en el insert into no deben enserrar los foreign key ni con comillas simples ni dobles: asi como lo explica gnzsoloyo.
voy a poner el insert ito que yo tengo por si alguien le queda alguna duda:
Código PHP:
Ver original$this->query = "INSERT INTO estudiante VALUES('$this->cedula_estudiante', '$this->modalidad_estudiante', '$this->nombres_estudiante', '$this->apellidos_estudiante',
'$this->telefonos_estudiante', '$this->correo', '$this->profesion',
'$this->ciudad', '$this->estado', '$this->observaciones', $this->codigo_linea, $this->codigo_proyecto, $this->codigo_cohorte)";
observen que los tres últimos ( $this->codigo_linea, $this->codigo_proyecto, $this->codigo_cohorte) les quite las comillas simples porque o si no NULL no va a quedar como una palabra reservada si no cono un texto mas en la tabla.
y los demas campos si los deje encerrado entre comillas simples('$this->cedula_estudiante', '$this->modalidad_estudiante', '$this->nombres_estudiante', '$this->apellidos_estudiante',
'$this->telefonos_estudiante', '$this->correo', '$this->profesion',
'$this->ciudad', '$this->estado', '$this->observaciones').