PHP - No logro agregar datos a una base mysql

   
Vista:

No logro agregar datos a una base mysql

Publicado por Edu (2 intervenciones) el 15/11/2015 20:20:48
Llevo toda la tarde probandoy y ya estoy un poco cansado. No se que más probar. Recibo de un formulario en una página html unos valores. Estos tienen que ser ingresados en una base de datos mysql en wampserver. Después de probar muchos códigos en los que me ha estado dando errores, he llegado a este punto, en el que no da fallo alguno, pero no ingresa los valores en la base de datos. Todos los campos de la base de datos pueden estar vacíos. El primero campo de la base de datos es Id, que es autoincrementable. Supongo que no es necesario usarlo en el código. ¿Como puedo hacer para ingresar los datos? Gracias.

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
$titulo = ($_POST['titulo']);
$year = ($_POST['year']);
$tipo = ($_POST['tipo']);
$sinopsis = ($_POST['sinopsis']);
$director = ($_POST['director']);
$protagonistas = ($_POST['protagonistas']);
$enlace1 = ($_POST['enlace1']);
$enlace2 = ($_POST['enlace2']);
$enlace3 = ($_POST['enlace3']);
$enlace4 = ($_POST['enlace4']);
$enlace5 = ($_POST['enlace5']);
$enlace6 = ($_POST['enlace6']);
$enlace7 = ($_POST['enlace7']);
$enlace8 = ($_POST['enlace8']);
$enlace9 = ($_POST['enlace9']);
$enlace10 = ($_POST['enlace10']);
 
echo '<p><b>Titulo: </b>' . $titulo . '</p><hr>';
echo '<p><b>Año: </b>' . $year . '</p><hr>';
echo '<p><b>Tipo: </b>' . $tipo . '</p><hr>';
echo '<p><b>Sinopsis: </b>' . $sinopsis . '</p><hr>';
echo '<p><b>Director: </b>' . $director . '</p><hr>';
echo '<p><b>Protagonistas: </b>' . $protagonistas . '</p><hr>';
echo '<p><b>Enlace 1: </b>' . $enlace1 . '</p><hr>';
echo '<p><b>Enlace 2: </b>' . $enlace2 . '</p><hr>';
echo '<p><b>Enlace 3: </b>' . $enlace3 . '</p><hr>';
echo '<p><b>Enlace 4: </b>' . $enlace4 . '</p><hr>';
echo '<p><b>Enlace 5: </b>' . $enlace5 . '</p><hr>';
echo '<p><b>Enlace 6: </b>' . $enlace6 . '</p><hr>';
echo '<p><b>Enlace 7: </b>' . $enlace7 . '</p><hr>';
echo '<p><b>Enlace 8: </b>' . $enlace8 . '</p><hr>';
echo '<p><b>Enlace 9: </b>' . $enlace9 . '</p><hr>';
echo '<p><b>Enlace 10: </b>' . $enlace10 . '</p><hr>';
 
//declaring the connection parameters  
$username = "root";
$password = "";
$hostname = "localhost";
 
//connection to the database  
$con = mysqli_connect($hostname, $username, $password) ;
 
//checking the connection  
if(!$con){
echo "Failed to connect" . '<br>';
}else{
echo "Connected to MySql Database successfully" . '<br>';
}
 
$db=mysqli_select_db($con,"peliculas");
if($db){
echo "Selected DB successfully" . '<br>';
}else{
echo "Failed to select Database . '<br>'";
}
 
 
$sql = "INSERT INTO pelis (Titulo, Year, Tipo, Sinopsis, Director, Protagonistas,

Enlace1, Enlace2, Enlace3, Enlace4, Enlace5, Enlace6, Enlace7, Enlace8, Enlace9, 

Enlace10) " +
  "VALUES ('$titulo', '$year', '$tipo', '$sinopsis', '$director',

'$protagonistas', '$enlace1', '$enlace2', '$enlace3', '$enlace4', '$enlace5', 

'$enlace6', '$enlace7', '$enlace8', '$enlace9', '$enlace10')";
$insertar = $con->query($sql);
 
?>
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 xve

No logro agregar datos a una base mysql

Publicado por xve (5513 intervenciones) el 16/11/2015 08:19:35
Hola Edu, lo mejor que puedes hacer, es hacer, es mostrar el contenido de la variable $sql por pantalla, de esta manera, podras probarla directamente sobre MySQL y ver el error.

De todas maneras, para concatenar una cadena en php, se utiliza el punto (.), no el signo de suma (+)... seguramente si muestras el valor de $sql sea erróneo.
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 VRM

No logro agregar datos a una base mysql

Publicado por VRM (169 intervenciones) el 16/11/2015 08:33:08
Hola:

En las lineas 42 y 51 utilizas las funciones mysqli en modo procedimental y en la linea 69 en forma orientada a objetos. Dicho de otro modo creas el enlace $con y seleccionas la base de datos correctamente, pero luego intentas utilizar el enlace $con como si fuese un objeto de la clase mysqli.

Deberías cambiar la linea 69 por:
1
$insertar = mysqli_query($con,$sql);

Saludos de Víctor.-
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

No logro agregar datos a una base mysql

Publicado por Edu (2 intervenciones) el 16/11/2015 17:09:51
Hola, gracias a ambos. Ya funciona. Había varios errores.

-Cambié el símbolo + por el punto. Copie el código de una web y no me di cuenta de esto.
-Cambié la línea 69. Nuevamente, esto de copiar de internet. Antes no utilizada mysqli y ahora me cuesta más retomar este mundo.
-Mostré con echo la consulta y había un error. Había puesto el campo Id, pero en la parte final después de VALUES, no lo utilizaba, por lo que daba error al no coincidir el número de campos. Lo solucióne quitando Id.

Perfecto, ahora me puedo centrar en otros aspectos de la web. Gracias de nuevo por la ayuda.
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