PHP - Inserción de datos en bd

 
Vista:
sin imagen de perfil

Inserción de datos en bd

Publicado por Juan Luis (10 intervenciones) el 19/02/2017 18:34:37
Buenas tardes a todos. Recojo unos datos en un form y los envío a la bd, pero no me los inserta en la misma.

Estos son los campos de la tabla:

nombre

email

fecha

comentario

-------------------------------------------------------------
Este es el html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<FORM name="Form1" id="Form1" method="post" action="plantillacomentarios.php" onSubmit="return Validar(this)">
<tr>
<input name="Nombreu" type="text" size="50" maxlength="50"></td>
</tr>
<tr>
<td name="Emailu" type="text" size="50" maxlength="50"></td>
</tr>
<tr>
<textarea name="Comentariou" rows="10" style="width: 660px" maxlength="120" class="auto-style41"></textarea></td>
</tr>
<tr>
<input type="Submit" value="Enviar Datos"></td>
<td style="width: 63px; height: 11px;"></td>
</tr>
----------------------------------------------------------------
Este es el php que recoge los datos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
 
$g_servidor ="11111111111";
 
$g_db = "2222222222222";
 
$g_usuario = "3333333333333333333";
 
$g_clave = "444444444444444444444";
 
$tabla = "Comentarios";
 
$Nombre = $_POST['Nombreu'];
 
$Email = $_POST['Emailu'];
 
$Comentario = $_POST['Comentariou'];
 
$link = mysqli_connect("$g_servidor", "$g_usuario", "$g_clave");
 
$mysqli_select_db ($g_db, $link) OR die ('Imposible conectar con la base de datos');
 
 
// Check connection
 
if($link === false){
 
die("ERROR: Could not connect. " . $mysqli_connect_error());
 
}
// attempt insert query execution
 
$sql = "INSERT INTO $tabla (nombre, email, comentario) VALUES ('$Nombre', '$Email', '$Comentario')";
 
if($mysqli_query($link, $sql)){
 
echo "Records added successfully";
 
} else{
 
echo "ERROR: Could not able to execute $sql " . $mysqli_error($link);
 
}
 
// close connection
 
$mysqli_close($link);
 
?>

Gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por Alejandro (157 intervenciones) el 20/02/2017 00:42:51
Hola Juan Luis, cual es el error que te arroja ?, prueba verificar la conexión con la base de datos. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Inserción de datos en bd

Publicado por Juan Luis (10 intervenciones) el 20/02/2017 10:01:46
Gracias por contestar Alejandro.

No me da ningún error. Desde que pulso el botón enviar datos, me sale la pantalla que envía el script para introducir el registro en la bd.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por xve (6935 intervenciones) el 20/02/2017 20:06:40
Muy extraño!!! si haces el echo $sql, te tiene que mostrar el contenido de la cadena que has generado!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por xve (6935 intervenciones) el 20/02/2017 08:38:03
Hola Juan, el código a simple vista parece que esta bien!!!

Prueba ha hacer un:
1
echo $sql;
Para comprobar que pone correctamente los datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Inserción de datos en bd

Publicado por Juan Luis (10 intervenciones) el 20/02/2017 09:58:52
Gracias por contestar xve.

He puesto como has dicho echo $sql después de hacer SELECT INTO pero no me muestra nada, ni si se han insertado o si no,

No se si el fallo puede ser en el tipo de comillas que tengo: a lo mejor donde van dobles las tengo simples o viceversa.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por kip (877 intervenciones) el 20/02/2017 13:35:30
Hola, en esta linea:

1
$mysqli_select_db ($g_db, $link) OR die ('Imposible conectar con la base de datos');

No debes colocar el $ antes de la funcion mysqli_select_db(), intenta eliminando y dejaandola asi:

1
mysqli_select_db ($g_db, $link) OR die ('Imposible conectar con la base de datos');

Por cierto, a la funcion mysqli_connect() puedes enviarle directamente el nombre de la BD como cuarto parametro para poder conectarte a esta.

Asi mismo en:

1
if($mysqli_query($link, $sql)){

Otra vez tienes un $ antes de la funcion.

Solo debes colocar el $ en variables mas no en funciones, corrige eso y nos avisas si funciona.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por xve (6935 intervenciones) el 20/02/2017 15:49:57
es verdad Kip, no me había dado cuenta!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Inserción de datos en bd

Publicado por Juan Luis (10 intervenciones) el 20/02/2017 16:40:18
Hola kip y xve.

He realizado los cambios que me dijeron (quitar el símbolo $ de la funciones) y todo sigue sin funcionar.

Les agradezco su interés, pero seguramente tiraré la toalla ya que me siento desfraudado conmigo mismo.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Inserción de datos en bd

Publicado por kip (877 intervenciones) el 20/02/2017 16:46:59
Puedes colocar el codigo ya modificado, de seguro algo se te escapa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Inserción de datos en bd

Publicado por Juan Luis (1 intervención) el 20/02/2017 16:53:33
Gracias kip por tu interés.

Este es el código modificado, pero ya no veo más allá.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
 
$g_servidor ="111111111";
 
$g_db = "222222222";
 
$g_usuario = "333333333";
 
$g_clave = "444444444";
 
$tabla = "Comentarios";
 
$nombre = $_POST['Nombreu'];
 
$email = $_POST['Emailu'];
 
$comentario = $_POST['Comentariou'];
 
$link = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db");
 
mysql_select_db ($g_db, $link) OR die ('Imposible conectar con la base de datos');
 
 
// Check connection
 
if($link === false){
 
   die("ERROR: Could not connect. " . mysql_connect_error());
 
    }
// attempt insert query execution
 
$sql = "INSERT INTO  Comentarios (nombre,email,comentario) VALUES('$nombre','$email','$comentario')";
 
mysql_query($link, $sql);
 
    if(mysql_query($link)){
 
        echo "Records added successfully";
 
    } else{
 
        echo "ERROR: Could not able to execute $sql " . mysql_error($link);
 
    }
 
 // close connection
 
    mysql_close($link);
 
?>



Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Inserción de datos en bd

Publicado por Juan Luis (10 intervenciones) el 21/02/2017 11:39:30
Buenos días a todos.

Después de romperme la cabeza, he conseguido que funcione el código.

Lo voy a subir por si a alguien le puede interesar.

Gracias a los que me han ayudado.

Saludos.

// En la Base de datos tengo los campos ID, nombre, email, fecha, comentario.

El campo fecha se mete automáticamente con la fecha actual al introducir los datos

// Este es el Formulario donde se recogen los datos y se envían //

<FORM name="Form1" id="Form1" method="post" action="plantillacomentarios.php"

on Submit="return Validar(this)">

<input name="Nombre" type="text" id="Nombre_u"

<input name="Email" type="text" id="Email_u"

<textarea name="Comentario" id="Comentario_u"

<input type="Submit" '.' value="Enviar Datos

</FORM>
---------------------------------------------------------------------------------------------------------------------
<?php

$g_servidor ="11111111";

$g_db = "2222222222";

$g_usuario = "3333333333";

$g_clave = "44444444";

$tabla = "Comentarios";

$nombre = $_POST['Nombre'];

$email = $_POST['Email'];

$comentario = $_POST['Comentario'];

$my_db = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db") OR die ('Imposible conectar con el servidor');

mysql_select_db ($g_db) OR die ('Imposible conectar con la base de datos');


// attempt insert query execution

$sql = "INSERT INTO Comentarios (nombre,email,comentario) VALUES('$nombre','$email','$comentario')";

mysql_query($sql);

// close connection

mysql_close($my_db);

header("location:http://www.rescateascensores.es/correctocoment.html")

?>




MODIFICACIONES QUE HE HECHO:

En el Formulario añadí lo que está en rojo:

<input name="Nombre" type="text" id="Nombre_u" //No se ve el rojo pero es id//

<input name="Email" type="text" id="Email_u" //No se ve el rojo pero es id//

<textarea name="Comentario" id="Comentario_u" //No se ve el rojo pero es id//


En el php modifiqué lo siguiente:

Quité los mensajes de error, y que si había alguno me salieran por OR die

$my_db = mysql_connect("$g_servidor", "$g_usuario", "$g_clave", "$g_db") OR die ('Imposible conectar con el servidor');

Lo mismo hice al conectar con la bd

mysql_select_db ($g_db) OR die ('Imposible conectar con la base de datos');

Después de cerrar la bd, redirijo al Usuario a una página, para informarle de que sus datos se han registrado de forma correcta

// close connection

mysql_close($my_db);

header("location:http://correctocoment.html")
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Inserción de datos en bd

Publicado por Angel (17 intervenciones) el 24/02/2017 17:36:01
Te dejo este video es de mucha ayuda
..Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar