Foros del Web » Programando para Internet » PHP »

ayuda con php y mysql

Estas en el tema de ayuda con php y mysql en el foro de PHP en Foros del Web. intento hacer mi primera base de datos, solo quiero que las personas dejen su nombre y su email, mi codigo es este <?php //si la ...
  #1 (permalink)  
Antiguo 05/06/2004, 14:13
 
Fecha de Ingreso: abril-2004
Ubicación: Ciudad de México
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 1
ayuda con php y mysql

intento hacer mi primera base de datos, solo quiero que las personas dejen su nombre y su email, mi codigo es este


<?php
//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){

include ("bd/config.php");
include ("bd/funciones.php");
//nos conectamos a mysql
$cnx = conectar ();

$campos = "nombre,apellido,nick,email,url";
$valores = "'".$_POST['nombre']."',";
$valores .= "'".$_POST['apellido']."',";
$valores .= "'".$_POST['email']."',";
$sql = "INSERT INTO emails ($campos) VALUES($valores)";
$res = mysql_query($sql) or die(mysql_error());
echo "Registro ingresado.<br><a href='listado.php'>regresar</a>";
mysql_close($cnx);
exit;
}
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="400" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>nombre</td>
<td><input name="nombre" type="text" id="nombre" value=""></td>
</tr>
<tr>
<td>apellido</td>
<td><input name="apellido" type="text" id="apellido" value=""></td>
</tr>
<tr>
<td>email</td>
<td><input name="email" type="text" id="email" value=""></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>


y me sale este error del que no he podido avanzar:



You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1


si alguien me puede echar una manita, se los mega agradeceria
  #2 (permalink)  
Antiguo 05/06/2004, 15:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Haz un
Código PHP:
echo $sql
y comparala con http://dev.mysql.com/doc/mysql/en/INSERT.html

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/06/2004, 15:17
 
Fecha de Ingreso: abril-2004
Ubicación: Ciudad de México
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 1
hola, gracias por responderme, pero me recomiendas que haga un " echo $sql;
" pero donde??? en que parte del documento, o en uno nuevo??? gracias
  #4 (permalink)  
Antiguo 06/06/2004, 04:01
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
el código que te dice Josemi, ponlo justo antes de hacer tu consulta a la base de datos con mysql_query, para que veas la consulta que se esta enviando y puedas detectar el error.

pero ya que andamos en estas, tu error es una coma al final de la consulta...

un saludo
  #5 (permalink)  
Antiguo 06/06/2004, 08:47
 
Fecha de Ingreso: junio-2004
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
Re: ayuda php mysql

$valores = "'".$_POST['nombre']."',";
$valores .= "'".$_POST['apellido']."',";
$valores .= "'".$_POST['email']."',";


Por lo que veo y sin probarlo puede que el error esté ahi. Simplemente pon
Quita las comillas dobles más internas puesto que php al encontrar comillas dobles externas sabe que lo que viene dentro debe interpretarlo, por tanto cuando encuentre el $_P.... sabrá que tiene que sustituirlo por su valor. En cualquier caso, la consulta debe quedar como:

INSERT INTO tabla(campo1, campo2) VALUES ('valor1','valor2')

porque Mysql usa las comillas simples como delimitador de campos de texto
(además de como delimitador de fechas y de numeros float)

Espero haberte servido de ayuda un saludo
  #6 (permalink)  
Antiguo 06/06/2004, 11:35
 
Fecha de Ingreso: abril-2004
Ubicación: Ciudad de México
Mensajes: 52
Antigüedad: 13 años, 8 meses
Puntos: 1
Ah Gracias

De acuerdo, el error fue justamente esa coma, todo funciona ahora de perfección, solo que ahora tengo otro problema, espero no molestarlos mucho. Soy totalmete novato en php y mysql, y resulta que el servidor que instale en mi compu ya no corre, el "apache" dice estar funcionando, pero las paginas en php no se procesan y e abren en mi editor de html. El día de ayer todo habia corrido excelentemente, pero hoy nomas no, hay algo que deba hacer para que las paginas php se puedan volver a ver en mi computadora?
  #7 (permalink)  
Antiguo 06/06/2004, 16:44
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 14 años, 2 meses
Puntos: 4
como accedias y como accedes a los scripts php?
si los abres directamente dandole click el sistema va y checa que aplicacion esta asociada a la extencion del archivo y lo abre con dicha aplicacion, si lo ejecutas con el explorer(http://localhost/carpeta/archivo.php) no creo que te de problemas.
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 20:50.