Al ejecutar el código PHP en servidor me da el siguiente error>
Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?
INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')
Prueba algo asi:
$sql = "INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')";
$res = mysql_query($sql, $conex);
Saludos.
P.D: Que te marque error en la linea 68 no quiere decir que este especificamente ahi, puede estar antes tambien.
Cita de: Willy.Design en 26 Septiembre 2008, 12:42 PM
Al ejecutar el código PHP en servidor me da el siguiente error>
Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?
INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')
El error no es la linea, el error a der ser el tipo de variables y el tipo de valor que deseas escribir !!...
Pon mas informacion, alcabo ni que por poner un poco mas de codigo te fueran a hackear :S !! (que noob si piensas eso)....
Y lo que te recomendo
NaSaRiD15 es una tonteria, recuerden que la forma de realizar la consulta es lo de menos, siempre y cuando la sintaxis este bien, el codigo debe funcionar !!...
bye bye
Muy estupido tu comentario dyablillo, si estas con ganas de agredir, busca otro lado donde hacerlo, fuera de lugar tu post completamente, no aportaste nada, y conteastaste de mal modo.
Mas alla de si me haya equivocado o no con el consejo, o si el puso o no lo suficiente, no es forma de responder, no se para que pierdo tiempo.
Cita de: Diabliyo en 27 Septiembre 2008, 03:29 AM
Cita de: Willy.Design en 26 Septiembre 2008, 12:42 PM
Al ejecutar el código PHP en servidor me da el siguiente error>
Parse error: syntax error, unexpected T_STRING in /mnt/web3/12/29/51668329/htdocs/LOTERIA/loteria_nacional/paleln.php on line 68
Esta es la linea 68: ¿Que esta mal?
INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia) VALUES ('$primero', '$segundo', '$cantidad', '$agencia')
El error no es la linea, el error a der ser el tipo de variables y el tipo de valor que deseas escribir !!...
Pon mas informacion, alcabo ni que por poner un poco mas de codigo te fueran a hackear :S !! (que noob si piensas eso)....
Y lo que te recomendo NaSaRiD15 es una tonteria, recuerden que la forma de realizar la consulta es lo de menos, siempre y cuando la sintaxis este bien, el codigo debe funcionar !!...
bye bye
Otro comentario asi y pido tu baneo.
Citarsyntax error, unexpected T_STRING
Ese error te está diciendo que hay una linea sin terminar, por ejemplo puede que le falte el ";" al final o que no hayas cerrado un parentesis o algo por el estilo.
Por lo que escribiste veo dos fallas, uno que le falta el ";" al final y lo otro que para hacer una consulta hacia la base de datos debes utilizar funciones y no escribirlo directamente sobre el código php, por ejemplo como te dijeron mas arriba:
$sql = "
INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia)
VALUES ('$primero', '$segundo', '$cantidad', '$agencia');
";
Con eso estarías definiendo la consulta que vas a hacer, ahora debes realizar la consulta con
mysql_pconnect()
mysql_select_db()
mysql_query(,)
mysql_fetch_row()
mysql_free_result()
mysql_close()
Te recomiendo que leas un poco para que puedas tener la idea un poco mas clara:
http://cl2.php.net/mysql
Sin mas que decir te recomioendo que no expongas las variables directamente sobre la consulta mysql o tendrás graves problemas de seguridad, lee también sobre injección sql:
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL
Para evitar estas cosas lee sobre la función mysql_real_escape_string() y set_magic_quotes_runtime()
<?php
/* .. .. */
set_magic_quotes_runtime(0);
error_reporting(0);
$servidor_bd = 'Localhost';
$basededatos = 'nombre de la base de datos';
$usuario_bd = 'usuario de la base de datos';
$pass_bd = 'contraseña del usuario de la base de datos';
if(!$conectar_sql = mysql_pconnect($servidor_bd, $usuario_bd, $pass_bd)){
echo "No se puede conectar a la base de datos";
exit(1);
}else{
if(!mysql_select_db($basededatos,$conectar_sql)){
echo "No existe la base de datos seleccionada";
exit(1);
}
}
$sql = "
INSERT INTO pale_loteria_nacional (primero, segundo, cantidad, agencia)
VALUES ('".
mysql_real_escape_string($primero)."', '".
mysql_real_escape_string($segundo)."', '".
(int)$cantidad."', '".
mysql_real_escape_string($agencia)."');
";
if(mysql_query($sql,$conectar_sql)){
echo "Datos insertados dentro de la base de datos.";
}else{
echo "No se pudo establecer los valores dentro de la base de datos.";
}
/* .. .. */
?>
http://cl2.php.net/manual/es/function.mysql-real-escape-string.php
http://cl2.php.net/manual/es/function.set-magic-quotes-runtime.php
Si después de todo esto todavía tienes preguntas puedes volver a hacerlas acá mismo.
Muchas gracias...para que me ayuden mejor aquí esta el código completo, pero he cambiado el script por otro pero tampoco me funciona pero no me da error, pero no me añade la información a la base de datos:
<html>
<head>
<title>Palé | Loteria Nacional</title>
</head>
<body bgcolor="#FFFFFF" onLoad='window.print();'>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?
$primero= $_POST["primero"];
$segundo= $_POST["segundo"];
$cantidad= $_POST["cantidad"];
$ganancia123= $cantidad*1000;
$ganancia23= $cantidad*100;
$agencia= $_POST["agencia"];
if ($primero == $segundo)
{
echo "No puedes jugar un PALÉ con los 2 números iguales. Comprueba los datos, por favor.";
exit;
}
echo date ("H:i ");
echo "del dia ";
echo date ("j ");
echo "de ";
echo date ("F ");
echo "del año ";
echo date ("Y ");
echo "<br>";
echo "<p>Su <b>PALÉ</b> es el siguiente:</p>";
echo $primero." <b>-</b> ";
echo $segundo." <b></b>";
echo "<br>";
echo $cantidad." €<b> de cantidad apostada.</b><br>";
echo $ganancia123." €<b> de ganancia (1º-2º o 1º-3º).</b><br>";
echo $ganancia23." €<b> de ganancia (2º-3º).</b><br>";
echo "<center><b>Fácil Envíos, S.A.</b></center>";
echo $agencia."";
//Conectar con BD y enviar información
if (!$primero || !$segundo || !$cantidad || !$agencia)
{
echo "No has introducido todos los detalles requeridos.<br>"
."Por favor vuelve e intentélo de nuevo.";
exit;
}
$primero = ($primero);
$segundo = ($segundo);
$cantidad = ($cantidad);
$agencia = ($agencia);
@ $db = mysql_pconnect("SERVIDOR", "USUARIO", "CONTRASEÑA");
if (!$db)
{
echo "Error: No se puede conectar a la base de datos. Por favor inténtelo de nuevo.";
exit;
}
mysql_select_db("BASE DE DATOS");
$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."',)";
$result = mysql_query($query);
if ($result)
echo mysql_affected_rows()." dato introducido.";
?></td>
</tr>
</table>
</body>
</html>
$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."',)";
Cambia por
$query = "insert into pale_loteria_nacional ('".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."' )";
date cuenta que se te esta pasando una ","
:-\
de verdad revisaste el codigo ??
el error salta a la vista
Saludos¡¡¡
Mira, lo que yo siempre hago para ver algún error de sitnaxis en SQL imprimo en pantalla la query de la siguiente manera:
<?php
/* .. .. */
$query = "
insert into pale_loteria_nacional ('
".$primero."', '".$segundo."', '".$cantidad."', '".$agencia."
',)";
echo $query; exit(0);
/* .. .. */
?>
Después copio lo que me aparezca y lo pego en el phpmyadmin y al dar ejecutar este me dirá cual es el error detalladamente y en que linea se produjo, una forma eficaz para personas que saben lo básico sobre bases de datos MySQL.
Muchas gracias a todos por su ayuda, ya he logrado que me añada la información en el servidor pero lo he hecho llevandome del consejo de WHK:
Después copio lo que me aparezca y lo pego en el phpmyadmin y al dar ejecutar este me dirá cual es el error detalladamente y en que linea se produjo, una forma eficaz para personas que saben lo básico sobre bases de datos MySQL.
He añadido una linea a la tabla y el PHPMyAdmin me ha dado el codigo de la consulta SQL y he copiado el codigo y he modificado los datos y me ha funcionado, es algo asi:
<html>
<head>
<title>Palé | Loteria Nacional</title>
</head>
<body bgcolor="#FFFFFF" onLoad='window.print();'>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?
$primero= $_POST["primero"];
$segundo= $_POST["segundo"];
$cantidad= $_POST["cantidad"];
$ganancia123= $cantidad*1000;
$ganancia23= $cantidad*100;
$agencia= $_POST["agencia"];
if ($primero == $segundo)
{
echo "No puedes jugar un PALÉ con los 2 números iguales. Comprueba los datos, por favor.";
exit;
}
echo date ("H:i ");
echo "del dia ";
echo date ("j ");
echo "de ";
echo date ("F ");
echo "del año ";
echo date ("Y ");
echo "<br>";
echo "<p>Su <b>PALÉ</b> es el siguiente:</p>";
echo $primero." <b>-</b> ";
echo $segundo."";
echo "<br>";
echo $cantidad." €<b> de cantidad apostada.</b><br>";
echo $ganancia123." €<b> de ganancia (1º-2º o 1º-3º).</b><br>";
echo $ganancia23." €<b> de ganancia (2º-3º).</b><br>";
echo "<br>";
echo "<center><b>Fácil Envíos, S.A.</b></center>";
echo $agencia."";
//Conectar con BD y enviar información
$primero = ($primero);
$segundo = ($segundo);
$cantidad = ($cantidad);
$agencia = ($agencia);
@ $db = mysql_pconnect("SERVIDOR", "USUARIO", "CONTRASEÑA");
if (!$db)
{
echo "Error: No se puede conectar a la base de datos. Por favor inténtelo de nuevo.";
exit;
}
mysql_select_db("BASE DATOS");
$query = "INSERT INTO `pale_loteria_nacional` ( `ClienteID` , `primero` , `segundo` , `cantidad` , `agencia` , `fecha` )
VALUES ('', '$primero', '$segundo', '$cantidad', '$agencia', '');";
$result = mysql_query($query);
?></td>
</tr>
</table>
</body>
</html>
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?
Un saludo y muchas gracias
Cita de: Willy.Design en 1 Octubre 2008, 17:24 PM
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?
Eso depende de que desees hacer, si quieres que el usuario introduzca cierta fecha o si eso no es necesario, para fechas de nacimiento por ejemplo, vale tu idea, pero si deseas almacenar la fecha en que se ingresaron los datos, basta con usar la función "Date" previo a almacenar el registro.
Cita de: cΔssiΔnі en 1 Octubre 2008, 17:34 PM
Cita de: Willy.Design en 1 Octubre 2008, 17:24 PM
Lo unico que me queda una duda es al añadir la FECHA...es mejor que añada un capo nuevo al FORMULARIO y que el codigo PHP lo añada a la tabla o existe algun script que lo haga automicamente tomando la fecha del equipo?
Eso depende de que desees hacer, si quieres que el usuario introduzca cierta fecha o si eso no es necesario, para fechas de nacimiento por ejemplo, vale tu idea, pero si deseas almacenar la fecha en que se ingresaron los datos, basta con usar la función "Date" previo a almacenar el registro.
Muchas gracias lo he hecho de la siguiente forma:
$fecha = date("F j, Y, g:i a"); // October 1, 2008, 6:16 pm
Pero es posible que los meses aparecieran en ESPAÑOL?