Foros del Web » Programando para Internet » PHP »

Ayuda con php

Estas en el tema de Ayuda con php en el foro de PHP en Foros del Web. Hola a todos! Lo primero este tema no se si es correcto publicarlo aqui, sino lo es pido disculpas. Estoy intentando crear una una base ...
  #1 (permalink)  
Antiguo 08/04/2010, 10:23
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Ayuda con php

Hola a todos!
Lo primero este tema no se si es correcto publicarlo aqui, sino lo es pido disculpas.
Estoy intentando crear una una base de datos desde un formulario html que pasa los parametros a php. Pero me da errores. Haber si me podeis ayudar que me estoy volviendo loco. Un saludo
Estos son los codigos:
Archivo crear.html

<html>
<head>
<title>Base de datos</title>
</head>
<body>
<form method="post" action="procesar.php">
Nombre de la base de datos : <input type="text" name="nombre"><br>
<br>
<br><br>
<input type="submit" name="valider" value="Enviar">
</form>
</body>
</html>

ARchivo procesar.php
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$nombre=$_POST['nombre'];

$sql='create database $nombre';

if (mysql_query($sql, $link)) {
echo "Database my_db created successfully\n";
} else {
echo 'Error creating database: ' . mysql_error() . "\n";
}*/
?>

Gracias

Última edición por joselilloweb; 08/04/2010 a las 10:35
  #2 (permalink)  
Antiguo 08/04/2010, 10:27
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ayuda con php

Deberías poner que problemas / errores te da el código.

Asi a simple vista veo que:

1. $sql=create database $nombre; Es un string, le faltan las comillas.
2. De esto no estoy seguro pero si no me equivoco lo recomendado ahora mismo es crear la base de datos mediante la función que tiene PHP para ello, aqui te dejo la documentación: http://es.php.net/manual/en/function.mysql-create-db.php

(Rectifico, acabo de leer que lo recomendado es hacerlo mediante el comando SQL, entonces simplemente ponle comillas al string)

Si sigues teniendo problemas copia los errores.


Un saludo
  #3 (permalink)  
Antiguo 08/04/2010, 10:28
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con php

Espera un poco, que ya viene el adivino del foro a decirnos los errores que te marca...
  #4 (permalink)  
Antiguo 08/04/2010, 10:33
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con php

Perdonad llevais razon al no publicar el error.
Gracias Heli0s, ya puse las comillas tal y como esta el ejemplo, quedando asi.

<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$nombre=$_POST['nombre'];

$sql='create database $nombre';

if (mysql_query($sql, $link)) {
echo "Database my_db created successfully\n";
} else {
echo 'Error creating database: ' . mysql_error() . "\n";
}*/
?>

Cuando lo ejecuto me dice:


Parse error: syntax error, unexpected '*' in C:\Users\joselillo\Desktop\server2go\htdocs\prueba s\procesar.php on line 14

Creeis que le estoy pasando bien el parametro desde el formulario.
Gracias.

Última edición por joselilloweb; 08/04/2010 a las 10:38
  #5 (permalink)  
Antiguo 08/04/2010, 10:35
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ayuda con php

Cambia esta linea:
Cita:
Iniciado por joselilloweb Ver Mensaje
$sql=create database $nombre;
Por esta:

Código PHP:
$sql="create database "$nombre
  #6 (permalink)  
Antiguo 08/04/2010, 10:40
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con php

tienes un */ (cerrar comentario) pero no abres comentario en ningun lado -_-
  #7 (permalink)  
Antiguo 08/04/2010, 10:42
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con php

si lo pongo como me dices:
Código PHP:
$sql="create database"$nombre
Me da el siguiente error:
Parse error: syntax error, unexpected '*' in C:\Users\joselillo\Desktop\server2go\htdocs\prueba s\procesar.php on line 14

Y si lo pongo asi:
Código PHP:
$sql="create database" $nombre
Me da el siguiente
Parse error: syntax error, unexpected '*' in C:\Users\joselillo\Desktop\server2go\htdocs\prueba s\procesar.php on line 14

Gracias
  #8 (permalink)  
Antiguo 08/04/2010, 10:47
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ayuda con php

Ponlo como lo escribí, y rectifica también el error que tienes que te nombro darkasecas, ese es el fallo que te da después de arreglar el primero.

En las últimas lineas tienes esto:

}*/

Quita el */


Un saludo
  #9 (permalink)  
Antiguo 08/04/2010, 10:52
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con php

joe que fallo tenia al final, gracias.
El error que me da al ponerlo tal y como me dices es este.

Error creating database: 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 'databasetg5' at line 1

Se os ocurre porque puede ser.
  #10 (permalink)  
Antiguo 08/04/2010, 10:59
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con php

Puedes imprimir tu query, y/o usar mysql_error() para depurarla, si analizas tu codigo y si imprimes la query te daras cuenta del por que del error de sintaxis que te marca
  #11 (permalink)  
Antiguo 08/04/2010, 11:15
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con php

Perdona pero no se como hacer lo que me pides
  #12 (permalink)  
Antiguo 08/04/2010, 11:23
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ayuda con php

Aqui esta la referencia de esa funcion: http://es.php.net/manual/es/function.mysql-error.php

A ver si consigues un error más descriptivo

Un saludo
  #13 (permalink)  
Antiguo 08/04/2010, 11:30
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Ayuda con php

Estoy viendo que en el mismo código ya está implementado el mysql_error, que es lo que te muestra el error, copia de nuevo el código final que te ha quedado para que lo revisemos.

Un saludo
  #14 (permalink)  
Antiguo 08/04/2010, 11:35
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Ayuda con php

Si no puedes ver el error viendo el codigo, imprime la consulta con echo antes de ejecutarla, asi veras el error que tienes.
  #15 (permalink)  
Antiguo 08/04/2010, 12:05
 
Fecha de Ingreso: abril-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda con php

Gracias ya esta solucionado el problema era un espacio que no tenia en create database.
Muchas gracias por todo.
Seguire trabajando en el proyecto.

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 00:06.