Foros del Web » Programando para Internet » PHP »

PHP OO Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en MySQL

Estas en el tema de Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en MySQL en el foro de PHP en Foros del Web. Buenas tardes. Estoy desarrollando una aplicación con PHP y base de datos de MySQL , locamente en mi PC funciona ya todo perfectamente bien, pero ...
  #1 (permalink)  
Antiguo 06/02/2019, 14:54
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 78
Antigüedad: 9 años, 3 meses
Puntos: 8
Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en MySQL

Buenas tardes.

Estoy desarrollando una aplicación con PHP y base de datos de MySQL, locamente en mi PC funciona ya todo perfectamente bien, pero al montarlo en el servidor mis consultas de código PHP no funcionan para hacer INSERT INTO aunque si para hacer UPDATE o para leer datos de todas las tablas, es decir que la conexión esta funcionando ya que las consultas o actualizaciones funcionan, solo no puedo insertar nuevos registros.

Supongo que se debe a algún permiso del manejador de bases de datos del servidor pero no se que pueda ser. Alguno de ustedes me podría ayudar por favor.

Gracias.
Javier0730
  #2 (permalink)  
Antiguo 06/02/2019, 20:38
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.308
Antigüedad: 11 años, 1 mes
Puntos: 1037
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

No son permisos en PHP sino en tu base de datos, al crear un usuario le debes otorgar los permisos


ALL PRIVILEGES: permite a un usuario de MySQL acceder a todas las bases de datos asignadas en el sistema.
CREATE: permite crear nuevas tablas o bases de datos.
DROP: permite eliminar tablas o bases de datos.
DELETE: permite eliminar registros de tablas.
INSERT: permite insertar registros en tablas.
SELECT: permite leer registros en las tablas.
UPDATE: permite actualizar registros seleccionados en tablas.
GRANT OPTION: permite remover privilegios de usuarios.


Seguramente te falta el permiso de INSERT


No haces mención del tipo de servidor que usas por lo que no puedo ayudarte mas, pero dale una revisada seguramente estará a la vista.
__________________
Toda ayuda se proporciona exclusivamente en el foro, no skype, no mensajes privados u otro medio....
  #3 (permalink)  
Antiguo 06/02/2019, 21:10
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 78
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

Hola.

Muchas gracias por responder. Le comento que el servidor que uso tiene un linux Ubuntu 16.04 LTS y para la conexion a la base de datos uso el usuario root. Si yo entro al PhpMyAdmin desde ahi si puedo hacer insercion de registros con INSERT INTO pero si lo hago desde la aplicación PHP es cuando no funciona, a pesar de que utilizo el mismo usuario y contraseña.

Verificando el phpMyAdmin veo que el usuario root si tiene activos todos los permisos, supongo que por eso me funciona desde el mismo phpMyAdmin pero no se si deba habilitar estos permisos en algun archivo de configuracion del sistema Ubuntu.

Le dejo capturas de pantalla.
https://flic.kr/p/2exMxyj
https://flic.kr/p/241VVag
https://flic.kr/p/2exMxR3

Será que falta configurar algo por fuera del PhpMyAdmin ?

Gracias nuevamente.
JAVIER0730
  #4 (permalink)  
Antiguo 07/02/2019, 18:02
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 78
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

Buenas tardes.

Les comento que aun no logro encontrar por que no pudeo hacer INSERT INTO desde mi aplicación PHP. Ya he puesto una solución provisional, la cual consiste en guardar los datos recopilados por mi app PHP mediante consultas UPDATE, para conseguir esto inserte desde el mismo PhpMyAdmin registros vacios en las tablas solo con un consecutivo en el campo ID

Por ejemplo tengo mi tabla 'PERSONAS' con varios campos entre los cuales la llave primaria es una columna llamada 'ID_PERSONA'. Así pues inserte 1000 registros, del 1 al 1000 con todas las demas columnas vacias.

Tambien agregue una columna llamada 'DISPONIBLE' y su valor por default es 'SI' Posteriormente para guardar los datos que se capturan en el FORM de mi aplicación lo que hago es una consulta que obtenga el primer registro de la tabla que en la columna DISPONIBLE sea igual a SI, despues hago un UPDATE actualizando el registro recuperado anteriormente con los datos de la persona y en la columna 'DISPONIBLE' coloco la etiqueta 'NO'. Asi controlo que no se reemplace un registro cuando ingrese una nueva persona.

Pues de momento asi me esta funcionando bien, y esta mecanica la aplique en 8 tablas ya que la persona al registrarse llena varios datos y contesta algunas encuestas.

Seguiré tratando de averiguar como hacer para que funcione la instrucción INSERT pero ya con más calma, de momento así esta funcionando bien la aplicación.

De todos modos si a alguien se le ocurre alguna posible solución, será muy agradecida.

Saludos.
JAVIER0730
  #5 (permalink)  
Antiguo 07/02/2019, 23:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.900
Antigüedad: 10 años, 8 meses
Puntos: 2156
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

En el administrador de bases de datos MySQL necesitas crear un usuario y asignarlo a la base de datos correspondientes con todos los permisos; después en PHP utilizas ese usuario para establecer la conexión y no tendrás mayor problema.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 08/02/2019, 08:13
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 78
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

Triby agradezco tu comentario,

Como mencione anteriormente en administrador de MySQL ya tengo esos permisos habilitados y ese usuario es el que estoy usando en PHP, te dejo de nuevo la captura de pantalla donde se aprecia dicha configuración.

https://flic.kr/p/2exMxR3
  #7 (permalink)  
Antiguo 08/02/2019, 16:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 9.900
Antigüedad: 10 años, 8 meses
Puntos: 2156
Respuesta: Habilitar permisos para que página PHP pueda hacer hacer INSERT INTO en My

En localhost no vas a tener problema por conectar a la base de datos con el usuario root, pero creo que por seguridad no vas a poder hacerlo igual en un servidor web, debiendo crear y asignar un usuario específico para el dominio y base de datos.
__________________
- León, Guanajuato
- GV-Foto



La zona horaria es GMT -6. Ahora son las 22:29.