Tengo un pequeño problemilla... El codigo que pongo a continuacion no me funciona. Lo que pretendo es gravar un registro en una tabla de la base de datos. Si la tabla no existe la tiene que crear y insertar el registro. Si ya existe solo insertar el registro. Pues no funciona.
Datos de entrada de la funcion:
$NomDeLaConsulta = "PEPE"
$SentenciaSQLConsulta = select * from clients where nom = "Sergi"
$Descripcio = "Un poquito de descripcion de la consulta."
$this->NomBD <<<<< Es el nombre de la base de datos con la que estoy trabajando.
--------------------------------------------------------------------------------------------------------
Código PHP:
public function gravar_consulta ($NomDeLaConsulta, $SentenciaSQLConsulta, $Descripcio) {
//Definimos inicio de excepciones...
try {
//Comprovando si existe la tabla...
if (!$Comprovacio = mysql_query("select nom from consultes", $this->Link))
//Creando la tabla...
if (!$CrearTaula = mysql_query("USE " . $this->NomBD . "; CREATE TABLE consultes ( nom VARCHAR(20), sentencia VARCHAR(100), descripcio VARCHAR(200), PRIMARY KEY (nom) );", $this->Link))
//Lanzamos error...
throw new ERExcepcio ("No s'ha pogut crear la taula 'consultes'.", 1);
else { //La tabla se ha creado correctamente...
//Borrando el resultado de la creacions de la tabla...
mysql_free_result ($CrearTaula);
//Rellamando a la funcion una vez esta creada la tabla...
$this->gravar_consulta ($NomDeLaConsulta, $SentenciaSQLConsulta, $Descripcio);
} /* if (!$CrearTaula = mysql_query("USE " . $this->NomBD . "; CREATE TABLE consultes ( nom VARCHAR(20), sentencia VARCHAR(100), descripcio VARCHAR(200), PRIMARY KEY (nom) );", $this->Link)) */
else { //La tabla ya existe...
//Borrando el resultado de la comprovacion...
mysql_free_result ($Comprovacio);
//Insertando el registro en la tabla...
if (!mysql_query("USE " . $this->NomBD . "; INSERT INTO consultes ( nom, sentencia, descripcio ) VALUES ( '". $NomDeLaConsulta . "', '". $SentenciaSQLConsulta . "', '". $Descripcio . "' );", $this->Link))
//Lanzamos error...
throw new ERExcepcio ("No s'ha pogut inserir el registre a la taula 'consultes'.", 1);
} /* if (!mysql_query("select * from consultes", $this->Link)) */
//Gestion de errores...
} catch (ERExcepcio $Excp) {
$Excp->informacio_dvl();
} /* catch */
} /* gravar_consulta ($NomDeLaConsulta, $SentenciaSQLConsulta, $Descripcio) */
Gracias por adelantado. Un placer.