Foros del Web » Programando para Internet » PHP »

No inserta los datos en la Base de Datos

Estas en el tema de No inserta los datos en la Base de Datos en el foro de PHP en Foros del Web. hola gente.. les paso a contar el problema q tengo. tengo un sistema de comentarios que deberia andar de 10.. no me tira ningun error ...
  #1 (permalink)  
Antiguo 19/06/2009, 13:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
No inserta los datos en la Base de Datos

hola gente.. les paso a contar el problema q tengo.
tengo un sistema de comentarios que deberia andar de 10.. no me tira ningun error ni nada, pero pero no inserta los comentarios en la base de dados :S
aqui les paso los archivos

para mostrar los comentarios
Código PHP:
<CENTER>
<TABLE CELLSPACING=1 CELLPADDING=1 WIDTH=458 BORDER=0 STYLE="border:1px solid black">
<TR>
<TD BGCOLOR="#FAFAFA">
<CENTER>
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold"> .Comentarios De Los Usuarios.
</SPAN>
</CENTER>
</TD>
</TR>

<TR>
<TD HEIGHT=1 BGCOLOR=black>
</TD>
</TR>

<TR>
<TD BGCOLOR="#FEFEFE">
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;">

<?
$resultComen 
mysql_query("SELECT * FROM comentarios WHERE id_noticia='$id' ORDER BY id ASC");
while(
$rowComen mysql_fetch_array($resultComen))
{
?> ;
< FONT COLOR=RED>
< B><? echo $rowComen["nick"]; ?></B>
< /FONT>
:
< ? echo $rowComen["comentario"]; ?>
< BR>
< ?
}
mysql_free_result($resultComen);
?>

</SPAN>
</TD>
</TR>
</TABLE>
</CENTER>
para enviar los comentarios
Código PHP:
<CENTER>
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold">
.Enviar Comentario.
</SPAN>
</CENTER>
<p>
<FORM NAME="miFormu" ACTION="nuevoComentario.php"
METHOD="post">
<INPUT TYPE="hidden" NAME="id" VALUE="<?
echo $id?>">
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20>
<BR>
Comentario: <INPUT TYPE="text" NAME="comentario"
SIZE=28 MAXLENGTH=250>
<BR>
<INPUT TYPE="submit" CLASS="boton" VALUE="Enviar
Comentario">
</FORM></td>
            </tr>
        </table>
nuevoComentario.php
Código PHP:
<?php

 mysql_connect
("server""xxxx""xxxx");

if(isset(
$_POST["id"]) && isset($_POST["nick"]) && isset($_POST["comentario"])) {
if(
$_POST["comentario"] != "")
{
if(
$_POST["nick"] == "")
{
$nickNuevo "anonimo";
}
else
{
$nickNuevo $_POST["nick"];
}
$resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 mysql_fetch_array($resultCom2);
$con $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia $_POST["id"];
$comentarioNoticia $_POST["comentario"];

mysql_query("INSERT INTO comentarios VALUES
('$con','$idNoticia','$nickNuevo','$comentarioNoticia')"
);

echo 
"Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."</SCRIPT>"; }
else
{
echo 
"Debe Introducir Un Comentario.";
}
}
?>
bueno eso es todo espero q me puedan decir donde esta mi error.

para mas info sobre el sist. de comentarios pinchar el spoiler
[spoiler]maestrosdelweb.com/editorial/phpcms1/[/spoiler]


saludos
  #2 (permalink)  
Antiguo 19/06/2009, 13:30
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: No inserta los datos en la Base de Datos

el INSERT lo tienes mal

mysql_query("INSERT INTO comentarios (campo1, campo2, campo3 , ........ , campoN) VALUES
('$con','$idNoticia','$nickNuevo','$comentarioNoti cia')");


ahora hay una cosa
segun veo la variable $con es el id del comentario para el cual lo que haces es sacar el ultimo id de la tabla de comentarios y aumentarlo en 1....

eso no es necesario simplemente al id de la tabla comentarios lo tienes que hacer AUTO_INCREMENT por lo que al hacer el INSERT no tendrias que poner nada asociado al id..... el motor de MySQL se encargará de todo :P

saludo :]
  #3 (permalink)  
Antiguo 19/06/2009, 13:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No inserta los datos en la Base de Datos

para saber si hay algun error tienes que escribir

mysql_query() or die(mysql_error())

verifica si con eso te tira algun error
  #4 (permalink)  
Antiguo 19/06/2009, 13:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No inserta los datos en la Base de Datos

Cita:
Iniciado por kike00 Ver Mensaje
el INSERT lo tienes mal[...]
No necesariamente el no tiene que mencionar los campos. Despues que el cumpla escribir todos los valores en el orden en que estan mencionadas en la base de datos. Si en la base de datos tiene 4 columnas y el escribe todos los valores o sea 4 valores y en el orden en que estan mencionadas en la base de datos no va a tener problema.
  #5 (permalink)  
Antiguo 19/06/2009, 14:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

Cita:
Iniciado por abimaelrc Ver Mensaje
para saber si hay algun error tienes que escribir

mysql_query() or die(mysql_error())

verifica si con eso te tira algun error
si me tira..No database selected
Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/xxx.biz/nuevoComentario.php on line 17

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/www/xxx.biz/nuevoComentario.php on line 19
Comentario Enviado Con Exito.
Espere Unos Segundos...No database selected
estas son las lineas
Linea 17:
Código PHP:
$rowCom2 mysql_fetch_array($resultCom2); 
linea 19
Código PHP:
mysql_free_result($resultCom2); 
cual es el problema cn esas lineas :S?

Última edición por pecilote; 19/06/2009 a las 14:31
  #6 (permalink)  
Antiguo 19/06/2009, 14:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No inserta los datos en la Base de Datos

Pues ahi tienes. No has seleccionado que base de datos vas a usar. Declaraste los permisos pero no existe

mysql_select_db()
  #7 (permalink)  
Antiguo 19/06/2009, 14:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 23
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

Primero debes definir el mysql_select_db() que aun no lo defines...
  #8 (permalink)  
Antiguo 19/06/2009, 15:16
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

me tira el siguiente error:
Parse error: syntax error, unexpected T_IF in /home/www/xxx.biz/nuevoComentario.php on line 6

el codigo nuevoComentario.php me queda asi..
Código PHP:
<?php

$link 
mysql_connect("server""asdasd""pass");
mysql_select_db  (  'comentarios',  '$link' )

if(isset(
$_POST["id"]) && isset($_POST["nick"]) && isset($_POST["comentario"])) {
if(
$_POST["comentario"] != "")
{
if(
$_POST["nick"] == "")
{
$nickNuevo "anonimo";
}
else
{
$nickNuevo $_POST["nick"];
}
$resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 mysql_fetch_array($resultCom2);
$con $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia $_POST["id"];
$comentarioNoticia $_POST["comentario"];

mysql_query("INSERT INTO comentarios VALUES
('$con','$idNoticia','$nickNuevo','$comentarioNoticia')"
);


echo 
"Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."</SCRIPT>"; }
else
{
echo 
"Debe Introducir Un Comentario.";
}
}
mysql_query("SELECT * FROM comentarios WHERE '$nick' '$comentarios'") or die(mysql_error())
?>
lo q le ise fue agregar
Código PHP:
mysql_select_db  (  'comentarios',  '$link' 
creo q lo agregue mal porq ahora me tira error en la linea 6, antes no me tiraba error. :S
  #9 (permalink)  
Antiguo 19/06/2009, 17:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No inserta los datos en la Base de Datos

te falta cerrar el argumento con el ;

mysql_select_db ( "aqui_va_el_nombre_de_la_base_de_datos", $link );
  #10 (permalink)  
Antiguo 19/06/2009, 18:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

ahi lo arregle y no me tira mas ese error
pero sigue sin seleccionar la base de datos
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/xxx.biz/nuevoComentario.php on line 18

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/www/xxx.biz/nuevoComentario.php on line 20
Comentario Enviado Con Exito.
Espere Unos Segundos...No database selected

18 :$rowCom2 = mysql_fetch_array($resultCom2);
20: mysql_free_result($resultCom2);
  #11 (permalink)  
Antiguo 21/06/2009, 13:02
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

una manito por favor :(
  #12 (permalink)  
Antiguo 21/06/2009, 13:10
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: No inserta los datos en la Base de Datos

Para ver el error en el query.

Código PHP:
resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1") or die(mysql_error()); 


Código PHP:
## Para mayor fluides quitale las comillas simple a $link

mysql_select_db  (  'comentarios',  $link )
## Ojo serciorate que tu base de datos no la tabla se llame comentarios. 
  #13 (permalink)  
Antiguo 22/06/2009, 17:36
 
Fecha de Ingreso: mayo-2008
Mensajes: 17
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: No inserta los datos en la Base de Datos

uy q pelotudo q soy dios mio! me confundi el nobre de la base de datos con la tabla comentario.

mil gracias!
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 07:49.