Foros del Web » Programando para Internet » PHP »

Tengo un problema....

Estas en el tema de Tengo un problema.... en el foro de PHP en Foros del Web. Os explico, estoy intentando crear un formulario con el cual rellenar campos en una base de datos. He creado varios archivos que os pongo abajo, ...

  #1 (permalink)  
Antiguo 28/09/2010, 06:18
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Tengo un problema....

Os explico, estoy intentando crear un formulario con el cual rellenar campos en una base de datos. He creado varios archivos que os pongo abajo, parece que todo va bien, no me sale ningun error ni nada, pero al intentar ver el contenido de un registro, no aparece nada (solo el hola caracola jeje). Sospecho que el problema esta en el archivo guardar.php, pero no consigo ver que falla.

Muchas gracias a todos por adelantado

Nos vemos!!

conexion.php : (para abrir la conexion con la dB)

<?
$dbhost="localhost"; // host del MySQL
$dbusuario="javier_traja"; // nombre de usuario
$dbpassword="trajapaja8910"; // password de acceso
$db="javier_trades"; // Seleccionamos la base con la cual trabajar
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db("javier_trades");
?>

cerrar_conexion.php : (para cerrar la conexion)

<? mysql_close($conexion); ?>

alta.php : (crear el formulario de alta)

<html>
<head><title>Alta en el sistema de intercambio</title></head>
<body>
<h3>Alta en el sistema de intercambio</h3>
<form method="post" action="guardar.php">
<p>Dominio:<br>
<input type="text" name="dominio">
</p>
<p>Nombre:<br>
<input type="text" name="nombre">
</p>
<p>
<input type="submit" name="enviar" value="Enviar Datos">
</p>
</form>
</body>
</html>

guardar.php : (para guardar el contenido de alta.php)

<?
include"conexion.php";
$in24=0; //Inicializo los valores de in, out y ratio, ya que no son campos rellenables por el usuario
$out24=0;
$in=0;
$out=1;
$ratio=0;
$dominio=$_POST['dominio'];
$nombre=$_POST['nombre'];
mysql_query("insert into `webs` (`dominio`,`nombre`, `in24`, `out24`, `in`, `out`, `ratio`)
values ('$dominio','$nombre','$in24','$out24','$in','$out ','$ratio')");
echo" <html>
<head></head>
<body>
<h3>Los datos han sido guardados</h3>
</body>
</html>";
include "cerrar_conexion.php";
?>

ver.php : (para ver el contenido de los registros de la db)

<?
include"conexion.php";
$foo=mysql_query("SELECT out FROM webs");
echo "$foo";
echo "hola caracola";
include "cerrar_conexion.php";
?>
  #2 (permalink)  
Antiguo 28/09/2010, 06:39
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años
Puntos: 74
Respuesta: Tengo un problema....

Deberías de repasar el tema de PHP + MySQL ya que las consultas no las estas haciendo bien.

El insert debería de ser así por ejemplo:

Código PHP:
Ver original
  1. $insertar="INSERT INTO webs  (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', '$in24', '$out24', '$in', '$out', '$ratio')";
  2.   mysql_query($insertar) or die (mysql_error());

Y la consulta:

Código PHP:
Ver original
  1. $sql = "SELECT out FROM webs";
  2.  $result = mysql_query($sql) or die (mysql_error());
  3. while($mostrar = mysql_fetch_array($result)) {
  4.     echo $mostrar['campo'];
  5.   }

¿Ves la diferencía?

Saludos,
  #3 (permalink)  
Antiguo 28/09/2010, 11:16
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Buenas, he escrito lo que me has dicho y ahora con el or die me reporta el fallo que tenia, me dice: 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 'in, out, ratio) values ('gg','www', 0, 0, 0, 1, 0)' at line 1


El archivo guardar.php me ha quedado asi:
Código PHP:
<?
  
include"conexion.php";
  
$in24=0;   //Inicializo los valores de in, out y ratio, ya que no son campos rellenables por el usuario
  
$out24=0;
  
$in=0;
  
$out=1;
  
$ratio=0;
  
$dominio=$_POST['dominio'];
  
$nombre=$_POST['nombre'];
  
$insertar="INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)";    
  
mysql_query($insertar) or die (mysql_error());
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"
;
include 
"cerrar_conexion.php";
?>
Lo de error en line 1 no lo entiendo, si el error esta en la linea 1 porque pone que el error esta cerca de ....(for the right syntax to use near 'in, out, ratio) values ('gg','www', 0, 0, 0, 1, 0)' at line 1)

Saludos, y muchas gracias!!
  #4 (permalink)  
Antiguo 28/09/2010, 11:20
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 14 años, 5 meses
Puntos: 36
Respuesta: Tengo un problema....

corazon de pura casualidad el error no esta aqui:

Código PHP:
<?
include"conexion.php";
$foo=mysql_query("SELECT out FROM webs");
$c=mysql_fetch_array($foo);
echo 
$c['tu_campo'];
echo 
"hola caracola";
include 
"cerrar_conexion.php";
?>
mejor lee un poco mas sobre mysql_fetch_array
  #5 (permalink)  
Antiguo 28/09/2010, 11:52
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Genial, ahora lo miro, creo que me será muy útil.

De todos modos sigo con el problema al insertar los datos xD

Mil gracias a todos!!
  #6 (permalink)  
Antiguo 28/09/2010, 12:11
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

revisa que los nombres de los campos sean iguales, y ten cuidado con las mayúsculas y minúsculas
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 28/09/2010, 14:56
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años
Puntos: 74
Respuesta: Tengo un problema....

mamonga, no has podido poner exactamente lo que te dije porque sino no te daría el error.

Fijate bien en mi código y en el tuyo. Fijate en las comillas

Actualmente aquí por ejemplo tienes esto:
Código PHP:
Ver original
  1. $insertar="INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)";


Cuando deberías de ser:

Código PHP:
Ver original
  1. $insertar="INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', '$in24', '$out24', '$in', '$out', '$ratio')";

No se porque le quitastes las comillas.

  #8 (permalink)  
Antiguo 28/09/2010, 15:38
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

pero esos son valores númericos, no afecta si les pones o no las comillas, a menos que no coincidan los tipos de datos, sin embargo, el error comienza justo en el in de los nombres de los campos in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)"; no llega hasta los valores, por eso debe de revisar los campos que coincidan los nombres e incluso las mayúsculas y minúsculas.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #9 (permalink)  
Antiguo 28/09/2010, 15:46
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Hola chicos, muchisimas gracias por sus contestaciones, efectivamente los campos in, out , in24, out24 y ratio son numericos, por eso no llevan las comillas.

Creo que di con el error, que era que al poner el INSERT, no llevava antes el mysql_query, ahora me queda asi...

Código PHP:
<?
  
include"conexion.php";
  
$in24=0;   //Inicializo los valores de in, out y ratio, ya que no son campos rellenables por el usuario
  
$out24=0;
  
$in=0;
  
$out=1;
  
$ratio=0;
  
$dominio=$_POST['dominio'];
  
$nombre=$_POST['nombre'];
  
$insertar=mysql_query("INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)");
  
mysql_query($insertar) or die (mysql_error());
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"
;
include 
"cerrar_conexion.php";
?>
Ahora al ejecutarlo salta el mensaje "Query was empty" pero no se que significa, creo (posiblemente me equivoque) es que la sentencia ( mysql_query($insertar) or die (mysql_error()); ) que creo que sirve para reportar los errores esta vacia (ya que no tiene ningún error y suelta eso de query was empty....

No estoy seguro de esto, si no es asi... ¿de que se puede tratar?

Muchas gracias a todos por su colaboracion !!! son grandes !!
  #10 (permalink)  
Antiguo 28/09/2010, 15:51
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

en vez de esto
Código PHP:
Ver original
  1. $insertar=mysql_query("INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)");
  2. mysql_query($insertar) or die (mysql_error());
usa solo
Código PHP:
Ver original
  1. mysql_query("INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)") or die (mysql_error());
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #11 (permalink)  
Antiguo 28/09/2010, 15:58
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Genial, ahora parece que funciona, pero entonces ¿tenia razon antes cuando decia esto? : la sentencia ( mysql_query($insertar) or die (mysql_error()); ) que creo que sirve para reportar los errores esta vacia (ya que no tiene ningún error y suelta eso de query was empty....

Gracias !!!
  #12 (permalink)  
Antiguo 28/09/2010, 16:13
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años
Puntos: 74
Respuesta: Tengo un problema....

Cita:
Iniciado por eits Ver Mensaje
pero esos son valores númericos, no afecta si les pones o no las comillas, a menos que no coincidan los tipos de datos, sin embargo, el error comienza justo en el in de los nombres de los campos in, out, ratio) values ('$dominio','$nombre', $in24, $out24, $in, $out, $ratio)"; no llega hasta los valores, por eso debe de revisar los campos que coincidan los nombres e incluso las mayúsculas y minúsculas.

saludos.
La verdad que desconocía eso, gracias por la info. Yo como siempre pongo las comillas, sean o no númericos...

Saludos,
  #13 (permalink)  
Antiguo 28/09/2010, 16:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

te recomiendo que leas un poco mas de mysql_query.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #14 (permalink)  
Antiguo 28/09/2010, 16:30
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Le he echado un ojo, pero no saco nada en claro...

Gracias de todos modos
  #15 (permalink)  
Antiguo 28/09/2010, 16:35
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 21 años
Puntos: 24
Respuesta: Tengo un problema....

Cita:
Iniciado por mamonga Ver Mensaje
Genial, ahora parece que funciona, pero entonces ¿tenia razon antes cuando decia esto? : la sentencia ( mysql_query($insertar) or die (mysql_error()); ) que creo que sirve para reportar los errores esta vacia (ya que no tiene ningún error y suelta eso de query was empty....

Gracias !!!
El error que mostraba se debía a que usabas dos veces al funcion mysql_query() y a la última NO le pasabas una consulta sql, le pasabas el resourse que te enviaba la primera.
  #16 (permalink)  
Antiguo 28/09/2010, 16:37
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

te lo explico rapidamente, el mysql_query al hacer la consulta(en este caso el insert) devuelve un recurso o falso si hubo algun error, por lo tanto $insertar solo llega a tener uno de esos dos valores y tu al intentar hacer el query de nuevo
Código PHP:
Ver original
  1. mysql_query($insertar) or die (mysql_error());
no tiene una consulta debidamente estructurada por lo cual lo toma como vacio, es por eso que te marca el error.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #17 (permalink)  
Antiguo 28/09/2010, 21:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años
Puntos: 175
Respuesta: Tengo un problema....

el mysql_query para que sea mas efectivo requiere de el link de conexion de la base de dato ademas de la consulta sql

es decir

$connection=mysql_connect("localhost","root","") or die(mysql_error());

$insertar="la consulta SQL a la BD"

mysql_query($insertar, connection);

solo a modo de ejemplo
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #18 (permalink)  
Antiguo 29/09/2010, 03:41
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Gracias a todos, cuando termine de hacer unas gestiones importantes voy a probar de nuevo aplicando lo aprendido

Saludos y gracias
  #19 (permalink)  
Antiguo 29/09/2010, 05:28
barchero
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Tengo un problema....

Hola
podrias provar en cortar el string de la consulta SQL.
alguna vez he usado el string como lo haces tu, pero me fio mas de la siguiente forma:
Código PHP:
mysql_query("INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('".$dominio."','".$nombre."', ".$in24.", ".$out24.", ".$in.", ".$out.",".$ratio.")"); 
Espero haverte ayudado
  #20 (permalink)  
Antiguo 29/09/2010, 09:14
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Buenas, el error persiste. El codigo es:

Código PHP:
<?
  
include"conexion.php";
  
$in24=0;   //Inicializo los valores de in, out y ratio, ya que no son campos rellenables por el usuario
  
$out24=0;
  
$in=0;
  
$out=1;
  
$ratio=0;
  
$dominio=$_POST['dominio'];
  
$nombre=$_POST['nombre'];
  
$insertar="INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ('".$dominio."','".$nombre."', '".$in24."', '".$out24."','".$in."', '".$out."', '".$ratio."')";
  
mysql_query($insertar) or die (mysql_error());
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"
;
include 
"cerrar_conexion.php";
?>'".$nombre."'
Y el error es: 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 'in, out, ratio) values ('ttrtg','kkjghgj', '0', '0','0', '1', '0')' at line 1


No paro de darte vueltas, y he pensado... ¿Es necesario crear una tabla antes de insertar los datos? Siento mi ignorancia... soy novatoo

Gracias !!!
  #21 (permalink)  
Antiguo 29/09/2010, 09:24
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

bachero, cambia el orden de las comillas
Código PHP:
Ver original
  1. mysql_query('INSERT INTO webs (dominio, nombre, in24, out24, in, out, ratio) values ("'.$dominio.'","'.$nombre.'", '.$in24.', '.$out24.', '.$in.', '.$out.','.$ratio.')');
¿porqué? por que en las comillas dobles el php lo revisa para encontrar variables, mientras que las simples son tomadas como cadenas literales, ejemplo
Código PHP:
Ver original
  1. $var=1;
  2. echo "$var";//devuelve 1, mientras que
  3. echo '$var';//devuelve $var
espero que sea de ayuda. saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #22 (permalink)  
Antiguo 29/09/2010, 09:27
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

no tienes la tabla webs????
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #23 (permalink)  
Antiguo 29/09/2010, 09:31
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años
Puntos: 175
Respuesta: Tengo un problema....

Bueno.. como lo veo todo desordenado, empecemos de nuevo, pero mas adelantados..

Primero que nada cuida tu sintaxis.. es decir, si vas a hacer un INCLUDE, no lo hagas:

include "conexion.php";

Hazlo como:

include("conexion.php");

tambien cuida esto
##############3
include "cerrar_conexion.php";
?>'".$nombre."'
#########

debido a que esa variable de Nombre esta fuera de la etiqueta PHP, por lo tanto no te lo reconocera como variable.

Evidentemente, necesitas crear una tabla llamada webs donde existan dichos campos que deseas insertar, de otra, no van a parar a ningun lugar.


Tambien verifica que tus campos de la BD tengan ese mismo nombre y esten en ese mismo orden..

tambien es aconsejable ponerle a tu mysql_query el link de conexion de tu BD

es decir

en tu conexion.php debes tener algo como mysql_connect.. pues, yo guardaria ese mysql_connect en una variable para manejarla.. algo asi

$con= mysql_connect ("host","usuario","passwrd");

y cuando dese utilizar el mysql_query le pondria

mysql_query($insertar, $con) or die (mysql_error());

verifica eso y comentanos nuevamente

ACLARACION:

Cuando se habla de tablas, nos referimos a MYSQL no a <table>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #24 (permalink)  
Antiguo 29/09/2010, 10:37
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Tengo un problema....

Amigo,
Cita:
¿Es necesario crear una tabla antes de insertar los datos? Siento mi ignorancia... soy novatoo
Ya tienes creada la tabla cierto??, de lo contrario donde piensas insertar, bueno solo para aclaración xD..

.
.
.
Sobre lo de tu consulta:

Ponle las comillas inversas a los nombres de los campos, ¿Por que?, bueno por la sencilla razón que existen palabras "especiales" que el MYSQL utiliza como funciones, y no pueden ser usadas como nombres de campos a menos que lleven sus respectivas comillas inversas.

INSERT INTO `webs ` (`dominio`, ....

te las dejo aqui para que hagas copy paste de las comiillas inversas, sobre lo de los campos la manera correcta de hacerlo es como lo tenías a un inicio:
values('$campo1','$campo2'....

quita eso de los puntos y dobles comillas.

Saludos
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #25 (permalink)  
Antiguo 29/09/2010, 10:51
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Genial, creo que he avanzado gracias a vuestra GRAN ayuda
De momento creo que he creado la tabla y he conseguido insertar datos en los campos, ahora lo que me falta es comprobar que estos datos estan bien guardados sacandolos por pantalla usando el archivo ver.php , os pongo el codigo que he usado para todo:

Crear la tabla:

Código PHP:
<?
include("conexion.php");

mysql_query("CREATE TABLE `webs` (
`dominio` varchar(25),
`nombre` varchar(25),
`in24` varchar(10),
`out24` varchar(10),
`in` varchar(10),
`out` varchar(10),
`ratio` varchar(10),
PRIMARY KEY (`dominio`))"
)
 or die(
mysql_error());  

echo 
"Tabla creada";

?>
Nunca antes habia creado una tabla pero no me da ningun error, parece estar bien

Guardar los datos :

Código PHP:
<?
  
include("conexion.php");
  
$in24=0;   //Inicializo los valores de in, out y ratio, ya que no son campos rellenables por el usuario
  
$out24=0;
  
$in=0;
  
$out=1;
  
$ratio=0;
  
$dominio=$_POST['dominio'];
  
$nombre=$_POST['nombre'];
  
$insertar="INSERT INTO `webs` (`dominio`, `nombre`, `in24`, `out24`, `in`, `out`, `ratio`) values ('$dominio','$nombre', '$in24', '$out24','$in', '$out', '$ratio')";
  
mysql_query($insertar) or die (mysql_error());
  echo
" <html>
    <head></head>
    <body>
    <h3>Los datos han sido guardados</h3>
    </body>
    </html>"
;
include(
"cerrar_conexion.php");
?>
Parece que este codigo por fin funciona correctamente, ya no da ningun error

Ahora viene el codigo que me falla, el ver.php, para sacar los datos insertados en la tabla:

Código PHP:
<?
include("conexion.php");
$sql "SELECT out FROM webs";
$result mysql_query($sql) or die (mysql_error());

   while(
$row mysql_fetch_array($result)) {
      
printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td></tr>"$row["out"],$row["dominio"]);
   } 
mysql_free_result($result);

include(
"cerrar_conexion.php");
?>
El error que me da es: 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 'out FROM webs' at line 1

Gracias de nuevo a todos por vuestra ayuda, estoy aprendiendo un montón !!

Saludos !!
  #26 (permalink)  
Antiguo 29/09/2010, 11:02
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

sigue como dijo KrowMx con las comillas
Código PHP:
Ver original
  1. $sql = "SELECT `out` FROM webs";
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #27 (permalink)  
Antiguo 29/09/2010, 11:03
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Tengo un problema....

Perfecto, ahora solo hay 1 cosa a tomar en cuenta, la creación de la tabla solo la debes hacer 1 vez, puesto que de lo contrario estarás borrando y creando tu tabla cada vez, pero así como lo hiciste lo hiciste perfecto. enhorabuena,

ahora para completar tu consulta del ver sería:

$sql = "SELECT out FROM webs";
$result = mysql_query($sql) or die (mysql_error());


ahora si debes de usar los . y comillas dobles

'".$row["out"]."'

utiliza echo en lugar de print

Saludos
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #28 (permalink)  
Antiguo 29/09/2010, 11:25
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Tengo un problema....

Buenas, he cambiado un poco el ver.php, os explico lo que quiero que haga, simplemente sacar por pantalla el resultado de los valores de los campos de la base de datos, seria algo como :

Nombre Dominio in24 ou24 in out ratio (esta parte de html ni la he puesto)
pitipum pam.com 1 1 1 1 2 (resultados)

El codigo es:

Código PHP:
<?
include("conexion.php");
$sql "SELECT `dominio` FROM webs";
$result mysql_query($sql) or die (mysql_error());

   while(
$row mysql_fetch_array($result)) {
      echo(
"&nbsp;%a&nbsp;&nbsp;%b&nbsp;&nbsp;%c&nbsp;&nbsp;%d&nbsp;&nbsp;%e&nbsp;&nbsp;%f&nbsp;",'".$row["dominio"]."','".$row["nombre"]."''".$row["in24"]."''".$row["out24"]."''".$row["in"]."''".$row["out"]."''".$row["ratio"]."');
   } 
mysql_free_result($result);

include(
"cerrar_conexion.php");
?>
y el error que me da es lo de la coma, Parse error: syntax error, unexpected ',' in /home/javier/public_html/intercambio/ver.php on line 8

al quitarla, el error es:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/javier/public_html/intercambio/ver.php on line 8


Gracias de nuevo ya casi lo tengo !!

Saludos !
  #29 (permalink)  
Antiguo 29/09/2010, 11:37
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Tengo un problema....

Amigo la linea 8 cual es?,

el echo no lleva parentesis solo comillas

el query no solo debe buscar dominios sino TODO, para eso se utiliza el asterisco:

$sql = "SELECT * FROM webs";
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #30 (permalink)  
Antiguo 29/09/2010, 11:41
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 4 meses
Puntos: 88
Respuesta: Tengo un problema....

intenta con esto
Código PHP:
Ver original
  1. echo('&nbsp;'.$row["dominio"].'&nbsp;&nbsp;'.$row["nombre"].'&nbsp;&nbsp;'.$row["in24"].'&nbsp;&nbsp;'.$row["out24"].'&nbsp;&nbsp;'.$row["in"].'&nbsp;&nbsp;'.$row["out"].'&nbsp;&nbsp;'.$row["ratio"]);
podrías hacerlo con sprintf pero lo estas mal empleando, te aconsejo leer un poco de esa función.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Etiquetas: Ninguno
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 16:57.