Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No se insertan los datos en la BD, sin errores

Estas en el tema de No se insertan los datos en la BD, sin errores en el foro de PHP en Foros del Web. Estoy haciendo un código simple para después ir ampliándolo poco a poco, pero no me funciona ni si quiera este. El problema es ese, no ...
  #1 (permalink)  
Antiguo 19/07/2013, 01:18
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
No se insertan los datos en la BD, sin errores

Estoy haciendo un código simple para después ir ampliándolo poco a poco, pero no me funciona ni si quiera este.
El problema es ese, no me da ningún error, y me dice que "el tema" ha sido registrado, pero en las tablas no se añade nada.
Gracias por la ayuda.

nnuevotema.php (el formulario)

Código PHP:
<?php include('../conectar.php');?>
<html><head>
<title>Nuevo Tema</title>
</head>

<body>
<table width="200" border="3" cellspacing="4">
  <tr>
    <th>Nuevo Tema:</th>
    <td><form name="insertar" method="POST" action="crear.php">
    Titulo:<input type="text" name="titulotema"  >
    Descripcion:<input type"text" name="descripcion">
    <input type="submit" name="insertar" value="crear">
    </form>
    </td>
    </tr>
    </table>
   
</body>
</html>
crear.php

Código PHP:
<?php 
require('../conectar.php');

$titulotema = ($_POST["titulotema"]);
$descripcion = ($_POST["descripcion"]);

if (
$titulotema==NULL|$descripcion==NULL) {
    echo 
"Campos vacios";

} else {
$conexion ="INSERT INTO temas (titulotema, descripcion, fecha) VALUES
('$titulotema', '$descripcion' NOW())"
;
echo 
"Tema registrado";
}
?>
os dejo también los datos de la conexión, por si el fallo está ahí.

conectar.php
Código PHP:
<?php

//Datos de conexion

define("servidor","localhost");
define("usuario","root");
define("clave","");
define("basededatos","that");

//funcion de conexion a la base de datos

$sql mysql_connect(servidor,usuario,clave);

mysql_query("SET NAMES 'utf8'");

function 
conexion($sql) {
    
    if ( ! 
$link mysql_connect(servidor,usuario,clave) ) {
        echo (
"Datos de conexión incorrectos.");
        return 
false;
    }
    if ( ! 
mysql_select_db(basededatos,$link) ) {
        echo (
"Error al seleccionar la BD");
        return 
false;    
    }
    if ( ! 
$consulta mysql_query($sql,$link) ) {
        echo (
"Error de sintaxis en la consulta");
        return 
false;
    }
    return 
$consulta;
}

?>
Los dos primeros están hechos a mano, por eso pienso que es algún error que yo he cometido al escribirlos.
  #2 (permalink)  
Antiguo 19/07/2013, 02:07
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: No se insertan los datos en la BD, sin errores

Hola Thelightandthenight.

Cita:
Iniciado por Thelightandthenight Ver Mensaje
Código PHP:
Ver original
  1. $conexion ="INSERT INTO temas (titulotema, descripcion, fecha) VALUES
  2. ('$titulotema', '$descripcion' NOW())";
  3. echo "Tema registrado";
  4. }

Por lo que veo, te falta una coma:

Código PHP:
Ver original
  1. $conexion ="INSERT INTO temas (titulotema, descripcion, fecha) VALUES
  2. ('$titulotema', '$descripcion', NOW())";
  3. echo "Tema registrado";
  4. }

Espero que así te funcione.

.
  #3 (permalink)  
Antiguo 19/07/2013, 02:31
 
Fecha de Ingreso: septiembre-2009
Ubicación: Wheel of Time
Mensajes: 30
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Código PHP:
    if (!$result) {
        die(
'Invalid query: ' mysql_error());
        return 
false;
    } 
y la próxima vez haz esto, te devolverá el error, y si ves que sigue sin decirte nada el error, haz un echo de la query a la base de datos, copia la query y ejecútala en MySQL directamente, MySQL de encontrar un error te lo dirá más detalladamente...
  #4 (permalink)  
Antiguo 19/07/2013, 02:57
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Nada sigue sin darme ningún error. Voy a seguir probando cosas a ver... Gracias de todas formas ^^

La cosa es que, la primera parte del código parece funcionar, si no escribo nada me salta "campos vacíos" por lo cual hasta ahí debe de funcionar. El problema es al conectar con la DB

Elyas? de php sé lo básico y tengo lagunas (aun estoy aprendiendo) me podrías explicar como hacer lo de las querys? (no sé ni lo que son, perdonad)
  #5 (permalink)  
Antiguo 19/07/2013, 03:19
 
Fecha de Ingreso: septiembre-2009
Ubicación: Wheel of Time
Mensajes: 30
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Tienes esto:

Código PHP:
$conexion ="INSERT INTO temas (titulotema, descripcion, fecha) VALUES 
('$titulotema', '$descripcion' NOW())"

echo 
"Tema registrado"
añade temporalmente esto:

Código PHP:
$conexion ="INSERT INTO temas (titulotema, descripcion, fecha) VALUES 
('$titulotema', '$descripcion' NOW())"

echo 
"Tema registrado";
echo 
"-->" $conexion "<--"
Ejecuta
lo que te salga entre --> y <--

lo copias y lo pegas directamente en phpmyadmin o en mysql admin o en dónde puedas realizar la consulta directamente.

lo ejecutas y ves el error.

Si no me sigues prueba a poner lo siguiente en tu php, al principio de la página, después de <?php
pon lo siguiente:

Código PHP:
    error_reporting(E_ALL);
    
ini_set('display_errors''1'); 
ejecuta
te sale algún error ahora?
  #6 (permalink)  
Antiguo 19/07/2013, 03:35
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Lo he hecho, dice que no he seleccionado la DB. Y que yo recuerde si está seleccionada en conectar.php

He cambiado el codigo añadiendo la DB a la tabla
Cita:
$conexion ="INSERT INTO that.temas (titulotema, descripcion, fecha) VALUES
('$titulotema', '$descripcion' NOW())";
echo "Tema registrado";
me da dos errores:

1 row by the last command, no resulset returned.
field 'autor' dosen'have a defaut value
Data truncated for column ''fecha'' at row 1.

Ni idea de lo que es
  #7 (permalink)  
Antiguo 19/07/2013, 03:43
 
Fecha de Ingreso: septiembre-2009
Ubicación: Wheel of Time
Mensajes: 30
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Cita:
Iniciado por Thelightandthenight Ver Mensaje
Lo he hecho, dice que no he seleccionado la DB. Y que yo recuerde si está seleccionada en conectar.php
Pon el texto exacto del primer error, luego vamos con lo demás.
  #8 (permalink)  
Antiguo 19/07/2013, 05:11
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

the query could not be execute.
Lo solucioné poniendo la DB, y luego me daban esos errores de arriba.
  #9 (permalink)  
Antiguo 19/07/2013, 06:47
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: No se insertan los datos en la BD, sin errores

Hola de nuevo,

No sé si os habéis dado cuenta, pero todas las veces que estáis poniendo la query sigue faltando la coma después de '$descripcion'.

No sé si será solo eso el fallo, pero sí creo que eso es un error, ya me corregiréis si me equivoco.

.
  #10 (permalink)  
Antiguo 19/07/2013, 09:37
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

ya la puse y no cambió nada. Gracias por tu interés ^^

P.D: Creo que ya sé por donde va el problema. Con la ayuda que me dió Elyas, vi que en el momento de poner el resultado de
Cita:
echo "-->" . $conexion . "<--";
Sí me ingresaba todos los datos. ¿Es un fallo de conexión entonces?

Última edición por Thelightandthenight; 19/07/2013 a las 10:07
  #11 (permalink)  
Antiguo 20/07/2013, 02:07
Avatar de Thelightandthenight  
Fecha de Ingreso: julio-2010
Ubicación: RC (Italia)
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: No se insertan los datos en la BD, sin errores

Ya lo solucioné, simplemente hice de nuevo el archivo de conexión a la BD

Etiquetas: bd, errores, formulario, html, mysql, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.