Foros del Web » Programando para Internet » PHP »

por que no funciona???

Estas en el tema de por que no funciona??? en el foro de PHP en Foros del Web. <head> <?PHP $conexion = mysql_connect("localhost", "root", "asge"); mysql_select_db("telefonos", $conexion); $sql = "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') "; $sql .= "VALUES ('".$nombre."', ...
  #1 (permalink)  
Antiguo 12/11/2007, 05:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta por que no funciona???

<head>
<?PHP
$conexion = mysql_connect("localhost", "root", "asge");
mysql_select_db("telefonos", $conexion);

$sql = "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') ";

$sql .= "VALUES ('".$nombre."', '".$extension."', '".$telefono."', '".$cabeza_grupo."')";

$result = mysql_query($sql);

if (mysql_query($sql)){
//si se consiguio insertar el nombre
echo "todo correcto";
}else{
//no se ejecuto la sentencia correctamente
echo "hubo un error";
echo mysql_error();
}
?>
</head>
<style type="text/css">
<!--
.Estilo1 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>
<body>

<form>
<p><span class="Estilo1">Introduzca un nuevo dato</span></p>

<p align="center">Nombre y apellidos
<input type="text" />
</p>
<p align="center">Extension
<input type="text" />
</p>
<p align="center">Telefono
<input type="text" />
</p>
<p align="center">Cabeza de grupo
<input type="text" />
<p align="center">
<label>
<input type="submit" name="Insertar" id="Insertar" value="insertar" />
</label>

<a href="trabajo php/USUARIOS.html">VOLVER</a>
</form>
</html>
</body>



Y ME DA ESTE ERROR:

hubo un errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''telefonos'. telefonos_datos (NOMBRE, EXTEN_MOVIL, TLFNO, CABEZA
  #2 (permalink)  
Antiguo 12/11/2007, 05:59
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

Prueba quitando las comillas al nombre de la tabla. Esas comillas creo que no las acepta para delimitar nombres.
  #3 (permalink)  
Antiguo 12/11/2007, 06:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

pues nada, sige sin funcionar y ya quite las comillas de la tabla...
  #4 (permalink)  
Antiguo 12/11/2007, 06:14
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

¿MySQL acepta nombres de campos con espacios?

Comprueba el valor de mysql_connect y de mysql_select_db.
  #5 (permalink)  
Antiguo 12/11/2007, 06:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

quite todos los espacion en los valorres de mysql_connect y de mysql_select_db.
pero me sigue sin insertar los datos y me da el error

hubo un errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''NOMBRE','EXTEN_MOVIL','TLFNO','CABEZA_DE_GRUPO') VALUES ('', ''
  #6 (permalink)  
Antiguo 12/11/2007, 06:50
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

Creo que ya sé dónde está el problema.

Tienes un formulario que apunta al mismo script.
Entonces, tienes que instanciar el atributo name de los campos del formulario. Luego tienes que acceder a los mismos así:

Código PHP:
// comprobamos que se haya pulsado el boton insertar del formulario
if( isset($_POST["Insertar"]) )
{
//sql

... $_POST["nombre"];
}
else
{
// formulario

<input type="text" name="nombre" />

  #7 (permalink)  
Antiguo 12/11/2007, 06:59
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Lo modifique así pero sige sin funcionarme.

<head>
<?PHP
$conexion = mysql_connect("localhost","root","asge");
mysql_select_db("telefonos",$conexion);

$sql = "INSERT INTO telefonos_datos ('NOMBRE','EXTEN_MOVIL','TLFNO','CABEZA_DE_GRUPO') ";

$sql .= "VALUES ('".$nombre."', '".$extension."', '".$telefono."', '".$cabeza_grupo."')";

$result = mysql_query($sql );

if (mysql_query($sql)){
// comprobamos que se haya pulsado el boton insertar del formulario
if( isset($_POST["Insertar"]) )
{
//sql

... $_POST["meter_datos.php"];
}
else
{
// formulario

<input type="text" name="nombre" />
}

?>
</head>
<style type="text/css">
<!--
.Estilo1 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>
<body>

<form>
<p><span class="Estilo1">Introduzca un nuevo dato</span></p>

<p align="center">Nombre y apellidos
<input type="text" />
</p>
<p align="center">Extension
<input type="text" />
</p>
<p align="center">Telefono
<input type="text" />
</p>
<p align="center">Cabeza de grupo
<input type="text" />
<p align="center">
<label>
<input type="submit" name="Insertar" id="Insertar" value="insertar" />
</label>

<a href="trabajo php/USUARIOS.html">VOLVER</a>
</form>
</html>
</body>
Llevo con esto mas de una semana y sigo sin resolverlo...
  #8 (permalink)  
Antiguo 12/11/2007, 07:03
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

Prueba así:
Código PHP:
<?PHP

if( isset($_POST["Insertar"]) )
{
$conexion mysql_connect("localhost""root""asge");
mysql_select_db("telefonos"$conexion);

$sql "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') ";

$sql .= "VALUES ('".$_POST['nombre']."', '".$_POST['extension']."', '".$_POST['telefono']."', '".$_POST['cabeza_grupo']."')";

$result mysql_query($sql);

if (
mysql_query($sql)){
//si se consiguio insertar el nombre
echo "todo correcto";
}else{
//no se ejecuto la sentencia correctamente
echo "hubo un error";
echo 
mysql_error();

}
?>
<html>
<head>
<style type="text/css">
<!--
.Estilo1 {
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>
<body>

<form method="post">
<p><span class="Estilo1">Introduzca un nuevo dato</span></p>

<p align="center">Nombre y apellidos
<input type="text" />
</p>
<p align="center">Extension
<input type="text" />
</p>
<p align="center">Telefono
<input type="text" />
</p>
<p align="center">Cabeza de grupo
<input type="text" />
<p align="center">
<label>
<input type="submit" name="Insertar" id="Insertar" value="insertar" />
</label>

<a href="trabajo php/USUARIOS.html">VOLVER</a>
</form>
<br /><div style="z-index:3" class="smallfont" align="center">SEO by vBSEO 3.0.0 &copy;2007, Crawlability, Inc.</div></body>
</html>

Última edición por jerkan; 12/11/2007 a las 07:14
  #9 (permalink)  
Antiguo 12/11/2007, 07:11
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Bueno parece que algo progresa, ahora no me da ningún error, pero meto los datos en el formulario y no me aparecen en la base de datos.
Tiene que ser alguna tonteria por que antes lo hice desde phpMyAdmin y los inserta correctamente.
  #10 (permalink)  
Antiguo 12/11/2007, 07:14
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

Uix, se me olvidó poner el method="post" al form. Ahora lo edito.
  #11 (permalink)  
Antiguo 12/11/2007, 07:15
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: por que no funciona???

Cambia tanbién esto
Código PHP:
$result mysql_query($sql);

if (
mysql_query($sql)){ 
por esto
Código PHP:
$result mysql_query($sql);

if (
$result){ 
Porque si no estás intentando hacerlo dos veces....
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #12 (permalink)  
Antiguo 12/11/2007, 07:19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Pues ya lo cambie, y aunque no me da errores me sigue sin insertar los datos en la base de datos
  #13 (permalink)  
Antiguo 12/11/2007, 07:41
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Re: por que no funciona???

Cita:
Iniciado por Yranac Ver Mensaje
Cambia tanbién esto
Código PHP:
$result mysql_query($sql);

if (
mysql_query($sql)){ 
por esto
Código PHP:
$result mysql_query($sql);

if (
$result){ 
Porque si no estás intentando hacerlo dos veces....
Es verdad, si que estoy espeso hoy... pero es que no me esperaba un código tan 'simple'.
  #14 (permalink)  
Antiguo 12/11/2007, 07:50
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: por que no funciona???

Y cambiando esto??
Código PHP:
<p align="center">Nombre y apellidos
<input type="text" name="nombre" />
</
p>
<
p align="center">Extension
<input type="text" name="extension"/>
</
p>
<
p align="center">Telefono
<input type="text" name="telefono"/>
</
p>
<
p align="center">Cabeza de grupo
<input type="text" name="cabeza_grupo"/>
<
p align="center">
<
label>
<
input type="submit" name="Insertar" id="Insertar" value="insertar" />
</
label
Es decir, poniendoles los nombres a los campos del formulario....
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #15 (permalink)  
Antiguo 14/11/2007, 07:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Pues modifique el codigo por lo que me enviaste pero me da el error:

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 ''telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE ¡Gracias! Hemos recibido sus datos.
  #16 (permalink)  
Antiguo 14/11/2007, 07:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Mierda ahora veo en la BBDD que hay uno de mis datos insertados pero con tantas modificaciones nose ni como lo hice
  #17 (permalink)  
Antiguo 14/11/2007, 07:11
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: por que no funciona???

No me extraña, llevando dos hilos con exactamente lo mismo.....

Es un lío total, yo te contesté ahora en el otro....

Por Dios que alguien cierre uno.
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #18 (permalink)  
Antiguo 14/11/2007, 07:19
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Pues nose como lo hice pero tengo 2 datos insertados en la BBdd y ahora algo cambie que no me los inserta...A ver si tu ves algo raro.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

<div align="left">
<?php

if ($enviar) {

// process form

$link = mysql_connect("localhost", "root", "asge");

mysql_select_db("telefonos",$link);

$sql = "INSERT INTO 'telefonos_datos' ('NOMBRE_APELLIDOS', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA_DE_GRUPO')";

$sql .= "VALUES ('".$nombre."', '".$extension."', '".$telefono."', '".$cabeza_grupo."')";


$result = mysql_query($sql,$link);

echo "¡Gracias! Hemos recibido sus datos.\n";

}else{

?>

</div>
<form method="post" action="<?$_SERVER['PHP_SELF']?>">

<div align="left">Nombre Apellidos:
<input type="Text" name="NOMBRE_APELLIDOS">
<br>

Extensión:
<input type="Text&quo>Dirección:<input type="Text" name="EXTEN_MOVIL">
<br>

Teléfono :
<input type="Text" name="TLFNO">
<br>

Cabeza de grupo :
<input type="Text" name="CABEZA_DE_GRUPO">
<br>

<input type="Submit" name="enviar" value="Aceptar información">

</div>
</form>


<div align="left">
<?php

} //end if

?>


</div>
</body>
</html>
  #19 (permalink)  
Antiguo 14/11/2007, 07:23
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: por que no funciona???

Ponle esto
Código PHP:
$sql "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') ";

$sql .= "VALUES ('".$_POST['nombre']."', '".$_POST['extension']."', '".$_POST['telefono']."', '".$_POST['cabeza_grupo']."')";

$result mysql_query($sql); 
y esto
Código PHP:
if($_POST['enviar']){ 
el resto deberías de tenerlo bien...
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #20 (permalink)  
Antiguo 15/11/2007, 03:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Hola Yranac!! tengo el codigo como tu me explicaste y sige sin meterme los datos en la BBDD pero el codigo tampoco me da errores, ahora mismo esta así:

<?php

if(isset($_POST['enviar'])){

// process form

$link = mysql_connect("localhost","root","asge");

mysql_select_db("telefonos",$link);

$sql = "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') ";

$sql .= "VALUES ('".$_POST['nombre']."', '".$_POST['extension']."', '".$_POST['telefono']."', '".$_POST['cabeza_grupo']."')";

$result = mysql_query($sql);

if ($result){ }

echo "¡Gracias! Hemos recibido sus datos.\n";

}else{

?>

</div>
<form method="post" action="<?$_SERVER['PHP_SELF']?>">

<div align="left">Nombre Apellidos:
<input type="Text" name="NOMBRE_APELLIDOS">
<br>

Extensión:
<input type="Text&quo>Dirección:<input type="Text" name="EXTEN_MOVIL">
<br>

Teléfono :
<input type="Text" name="TLFNO">
<br>

Cabeza de grupo :
<input type="Text" name="CABEZA_DE_GRUPO">
<br>

<input type="Submit" name="enviar" value="Aceptar información">

</div>
</form>


<div align="left">
<?php

} //end if

?>


</div>
</body>
</html>


Gracias!!
  #21 (permalink)  
Antiguo 15/11/2007, 03:56
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: por que no funciona???

Simplemente para comprobar cual es la causa del error añade dos lineas más, dejándolo así
Código PHP:

  <?php

if(isset($_POST['enviar'])){  

// process form

$link mysql_connect("localhost","root","asge");

mysql_select_db("telefonos",$link);

$sql "INSERT INTO 'telefonos_datos' ('NOMBRE', 'EXTEN_MOVIL', 'TLFNO', 'CABEZA DE GRUPO') ";

$sql .= "VALUES ('".$_POST['nombre']."', '".$_POST['extension']."', '".$_POST['telefono']."', '".$_POST['cabeza_grupo']."')";

echo 
$sql;

$result mysql_query($sql);

if (!
$result){
   echo 
mysql_error();
 }

echo 
"¡Gracias! Hemos recibido sus datos.\n";

}else{

?>
    
  </div>
<form method="post" action="<?$_SERVER['PHP_SELF']?>"> 

    <div align="left">Nombre Apellidos:
      <input type="Text" name="NOMBRE_APELLIDOS">
      <br>

Extensión:
<input type="Text" name="direccion">Dirección:<input type="Text" name="EXTEN_MOVIL">
<br>

Teléfono :
<input type="Text" name="TLFNO">
<br>

Cabeza de grupo :
<input type="Text" name="CABEZA_DE_GRUPO">
<br>

<input type="Submit" name="enviar" value="Aceptar información">

    </div>
</form>


<div align="left">
  <?php

//end if

?>
    
    
  </div>
</body>
</html>


Gracias!!
__________________
mais só os ignorantes e féridos e duros, imbéciles e escuros non nos entenden, non.
Visita Mi web
  #22 (permalink)  
Antiguo 15/11/2007, 04:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Añadí esas líneas y me daba un error en la sintaxis así que quite las comillas simples del nombre de la tabla y de los campos en el insert, pues bien el error desapareció pero sigue sin aparecerme los datos que inserto con el formulario.
Algo raro tiene que andar por hay.
Un saludo.Gracias.
  #23 (permalink)  
Antiguo 15/11/2007, 05:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Ahora hace algo diferente: inserto los datos del formulario y en la base de datos aparecen nuevos registros pero en blanco, no tengo ni idea de a que puede deber asi esta el codigo:

<?php
if(isset($_POST['enviar'])){

// process form

$link = mysql_connect("localhost","root","asge");

mysql_select_db("telefonos",$link);

$sql = "INSERT INTO telefonos_datos (NOMBRE__APELLIDOS,EXTEN_MOVIL,TLFNO,CABEZA_DE_GRU PO) ";

$sql .= "VALUES ('".$_POST['nombre__apellidos']."', '".$_POST['extension']."', '".$_POST['tlfno']."', '".$_POST['cabeza_de_grupo']."')";

$result = mysql_query($sql);

if (!$result){ echo mysql_error();

}

echo "¡Gracias! Hemos recibido sus datos.\n";

}else{

?>

</div>
<form method="post" action="<?$_SERVER['PHP_SELF']?>">

<div align="left">Nombre Apellidos:
<input type="Text" name="NOMBRE__APELLIDOS">
<br>

Extensión:
<input type="Text&quo>Dirección:<input type="Text" name="EXTEN_MOVIL">
<br>

Teléfono :
<input type="Text" name="TLFNO">
<br>

Cabeza de grupo :
<input type="Text" name="CABEZA_DE_GRUPO">
<br>

<input type="Submit" name="enviar" value="Aceptar información">

</div>
</form>


<div align="left">
<?php

} //end if

?>


</div>
</body>
</html>
  #24 (permalink)  
Antiguo 15/11/2007, 05:36
 
Fecha de Ingreso: noviembre-2007
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: por que no funciona???

Por fín lo solucione!!!

Gracias a todos.
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 06:27.