Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

sintaxis correcta para crear un usuario???

Estas en el tema de sintaxis correcta para crear un usuario??? en el foro de Mysql en Foros del Web. necesito crear un nuevo usuario con privilegios minimos para acceder a la base de datos mysql. Pero no anda. Ya intente de todo asi que ...
  #1 (permalink)  
Antiguo 12/10/2010, 20:48
 
Fecha de Ingreso: enero-2010
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 2
Pregunta sintaxis correcta para crear un usuario???

necesito crear un nuevo usuario con privilegios minimos para acceder a la base de datos mysql. Pero no anda. Ya intente de todo asi que recurro a ustedes en la esperanza de que alguien me sepa decir donde esta el error. De hecho, comprobando con 'echo', hasta llegar a la consulta y despues todo esta perfecto. Incluso, en vez de poner una variable en la sentencia de la consulta, probe poniendo un nombre con su clave y tambien funciona. Lo mismo si utilizo la linea de comando para crear manualmente, desde el monitor. Asi que sospecho que el error es la variable, pero tampo atino a ver de que otra manera podria incluir lo que se recibe desde el formulario. Alguien?????
desde ya, muchas gracias!!!!




<?php
//recibiendo datos y capturando:
$nombre=$_POST['nombre'];
$clave=$_POST['clave'];

//estableciendo conexion con el servidor
$enlace = mysql_connect("localhost", "root", "");




//seleccionando la base de datos:
mysql_select_db("miBBDD", $enlace);


//consulta
$consulta = "CREATE USER '$nombre' IDENTIFIED BY '$clave';";

//ejecutando consulta
$respuesta = mysql_query($consulta, $enlace);


//cerrando conexion con el servidor
mysql_close($enlace);




?>
  #2 (permalink)  
Antiguo 12/10/2010, 21:30
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: sintaxis correcta para crear un usuario???

tengo una pregunta que puede que te ayude cuando hiciste el echo copiaste y pegaste la consulta y te dio?? creo que la variable dentro de la consulta no necesita comillas simple " ' " pero no estoy seguro que sea eso has la prueba que te dije copia y pegalo que te imprime la variable $consulta al hacerle un echo y ejecutalo en tu cliente mysql a ver que puede ser que este pasando y la otra prueba kitando la comilla simpe a ver si te trae problemas saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 13/10/2010, 02:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: sintaxis correcta para crear un usuario???

Crear el usuario no es suficiente. Además debes darle permisos porque de lo contrario no se podrá ni siquiera loguear.
Además, si estás usando un hosting en web, debes asegurarte de poseer tú mismo los privilegios necesarios para crear usuarios en MySQL. Los hosting no suelen dar a los usuarios esos permisos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 13/10/2010, 07:10
 
Fecha de Ingreso: enero-2010
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: sintaxis correcta para crear un usuario???

gracias a ambos por las respuestas!

Cita:
Iniciado por carlos_belisario Ver Mensaje
tengo una pregunta que puede que te ayude cuando hiciste el echo copiaste y pegaste la consulta y te dio??
echo me devuelve el contenido de la variable consulta como es esperado. Ademas he probado con comillas simples, dobles, escapandolas con la barra invertida e incluso son comillas y echo sigue imprimiendo justo el valor esperado.



Cita:
Iniciado por gnzsoloyo Ver Mensaje
si estás usando un hosting en web, debes asegurarte de poseer tú mismo los privilegios necesarios para crear usuarios en MySQL
en realidad me conecto como root desde localhost. De hecho, manualmente, puedo añadir usuarios



Cita:
Iniciado por gnzsoloyo Ver Mensaje
Crear el usuario no es suficiente. Además debes darle permisos porque de lo contrario no se podrá ni siquiera loguear.
pues tambien he tratado con los privilegios, pero tampoco funciona. Ahora, desde el monitor de mysql esta misma sintaxis, sin definir privilegios, funciona. Supongo que si en el monitor funciona, tambien debe funcionar desde una consulta que envia php, verdad?
  #5 (permalink)  
Antiguo 13/10/2010, 07:22
 
Fecha de Ingreso: enero-2010
Mensajes: 53
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: sintaxis correcta para crear un usuario???

bueno, les tengo novedades. . . . . acabo de encender mi computadora, paso por aqui para ver que novedades y regreso a mi pagina. Pues resulta que el codigo funciono. Anoche lo deje asi y no funcionaba pero, no se si la razon sea vergonzosamente elemental, pero esta funcionando y no entiendo que paso. La cosa es que esta funcionando como debe. Asi que transcribo el codigo a continuacion, a lo mejor le ahorro dolores de cabeza a alguien. Les agradeceria si alguien me pudiera decir porque y cuando se supone que debo reiniciar la maquina. Enfin, el codigo funcional para crear usuarios en mysql desde php es:

<?php
//recibiendo datos del formulario y capturando:
$nombre=$_POST['nombre'];
$clave=$_POST['clave'];

//estableciendo conexion con el servidor
$enlace = mysql_connect("localhost", "root", "");

//seleccionando la base de datos:
mysql_select_db("miBASE", $enlace);


//consulta
$consulta = "CREATE USER $nombre IDENTIFIED BY '$clave';";

//ejecutando consulta
$respuesta = mysql_query($consulta, $enlace) or die(mysql_error());

//cerrando conexion con el servidor
mysql_close($enlace);
?>

Etiquetas: crear, php, usuarios
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 19:31.