Configuración de una aplicación web usando MySQL -- php campo con mysql campo con mysqli camp Relacionados El problema

Setting up a web application using MySQL


-1
vote

problema

Español

Soy nuevo para configurar una aplicación basada en la web. Tengo un servidor con la configuración de MySQL con una base de datos. El sitio está ejecutando mi página web de inicio de sesión. Actualmente tengo la configuración de los usuarios utilizando MyPHPADMIN, lo que resultará rápidamente oneroso. Más importante aún, una vez que ejecuto el comando "$connection = mysqli_connect('1.2.3.4', $username, $password, 'databasename');" , la variable $connection no sigue existiendo en otros scripts PHP, aunque lo configure como global y lo intenté " $GLOBALS['connection'] = $connection;". < / Código>

¿Hay una práctica estándar para iniciar sesión con una sola cuenta para el código PHP y luego administrar los usuarios con una tabla de base de datos? Soy un poco de severy de ese enfoque por razones de seguridad.

Original en ingles

I'm new to setting up a web based application. I have a server with MySQL setup with a database. The site is running my login web page. Currently I have users setup using MyPhpAdmin which will quickly prove burdensome. More importantly, once I run the command "$connection = mysqli_connect('1.2.3.4', $username, $password, 'databasename');", the variable $connection does not continue to exist on other PHP scripts even though I set it as global and tried " $GLOBALS['connection'] = $connection;".

Is there a standard practice to login with a single account for the PHP code and then manage the users with a database table? I'm a little leery of that approach for security reasons.

        
   
   

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

Creo que no entiendas mal el $_GLOBALS . Una vez que haya declarado una variable fuera de una función o una clase, ya está registrada a nivel mundial.

  <?php   $foo = "bar";  function foo(){     global $foo;     echo $foo; }  echo $_GLOBALS["foo"]; // Output: bar foo(); // Output: bar   
  • Puedes leer más sobre PHP Globals aquí .
 

I think you misunderstand the $_GLOBALS. once you declared a variable outside a function or a class, it is already registered globally.

<?php   $foo = "bar";  function foo(){     global $foo;     echo $foo; }  echo $_GLOBALS["foo"]; // Output: bar foo(); // Output: bar 
  • you can read more about PHP GLOBALS here.
 
 
 
 
0
 
vote

No lo recomiendo no usar MySQLI, es mejor usar la conexión PDO como esta

  $Engine = 'mysql'; $Host = 'YOUR_HOST'; $Name = 'DB_NAME'; $User = 'YOUR_USER'; $Pass = 'YOUR_PASS'; $Charset = 'YOUR_CHARSET_DB';  $Connection = new PDO($this->Engine.':host='.$this->Host.';dbname='.$this->Name.';$this->Charset', $this->User, $this->Pass);   

puedes usar así

  try {     $Connection = new PDO('mysql:host=localhost;dbname=prueba', $User, $Pass);     foreach($Connection ->query('SELECT * from FOO') as $fila) {         print_r($fila);     }     $Connection = null; } catch (PDOException $e) {     print "¡Error!: " . $e->getMessage() . "<br/>";     die(); }   

La conexión PDO CERRARSE DESPUÉS DE LA COMUNICACIÓN QUE SE HA HECHO NO TE NECESITA CERRARSURA MANUALMENTE

 

i recomended to you not use mysqli, is better use PDO connection like this

$Engine = 'mysql'; $Host = 'YOUR_HOST'; $Name = 'DB_NAME'; $User = 'YOUR_USER'; $Pass = 'YOUR_PASS'; $Charset = 'YOUR_CHARSET_DB';  $Connection = new PDO($this->Engine.':host='.$this->Host.';dbname='.$this->Name.';$this->Charset', $this->User, $this->Pass); 

you can used like this

try {     $Connection = new PDO('mysql:host=localhost;dbname=prueba', $User, $Pass);     foreach($Connection ->query('SELECT * from FOO') as $fila) {         print_r($fila);     }     $Connection = null; } catch (PDOException $e) {     print "xc2xa1Error!: " . $e->getMessage() . "<br/>";     die(); } 

the PDO connection close after the query is done you dont need to close manually

 
 
 
 

Relacionados problema

3  PDO_MYSQL vs MySQLI al usar Zend_DB  ( Pdo mysql vs mysqli when using zend db ) 
Si estoy usando clases Zend_DB para abstractar mis consultas de la base de datos Backend, ¿hace una diferencia en qué controlador MySQL utilizo, PDO_MYSQL vs....

19  CodeIgniter: Llamada de error fatal a la función indefinida MySQLI_init ()  ( Codeigniter fatal error call to undefined function mysqli init ) 
Acabo de cambiar mi servidor y experimentar estos errores a continuación: Fatal error: Call to undefined function mysqli_init() in /home/blacktwitter/publi...

5  ¿Cómo hacer una clase de extensión MySQLI adecuada con declaraciones preparadas?  ( How to make a proper mysqli extension class with prepared statements ) 
He recorrido la web por un buen ejemplo, pero no puedo encontrar nada. Estoy tratando de extender la clase MySQLI para hacer una clase de ayuda que abstrave...

0  Error de MySQLI al insertar  ( Mysqli error when inserting ) 
Tengo un problema. Cuando quiero insertar en la tabla MySQL de PHP, no funciona y escribe un error Unknown column 'pass' in 'field list' Intenté elimin...

0  Php- mysqli preparar declaraciones  ( Php mysqli prepare statements ) 
Soy muy nuevo en la codificación y quiero usar MySQLI Preparar declaraciones para esta pieza de código, sin embargo, he pasado horas intentando y todo lo que ...

-1  Título de la columna de exportación en CSV  ( Export column title in csv ) 
Tengo que mejorar este código para una mejor salida en mi archivo CSV. Lo que necesito es exportar también el título de la columna y tal vez reemplace el títu...

2  PHP y "Encendido" MySQLi  ( Php and turning on mysqli ) 
Estoy buscando problemas para encontrar la documentación sobre cómo exactamente para hacerlo "encender" MySQLI. Estoy ejecutando OS X SL y, como lo entiendo, ...

0  Iniciar sesión con declaraciones preparadas: no se puede iniciar sesión con nombre de usuario / contraseña  ( Logging in with prepared statements cant log in with username password ) 
Estoy usando declaraciones preparadas para iniciar sesión, pero no puedo iniciar sesión con ninguna contraseña y pares de nombre de usuario. No sé por qué. Pa...

0  MySQLI: MYSQLI_STMT :: Bind_Param (): Número de variables no coincide con el número de parámetros en la declaración preparada  ( Mysqlimysqli stmtbind param number of variables doesnt match number of pa ) 
Estoy creando una pregunta dinámica de MySQLI con la ayuda de @ chris85. Soy capaz de crear esto. AccNo7 cuando ejecuto esto tengo esto. AccNo8 No...

0  Inserte múltiples columnas en la tabla usando MySQLI  ( Insert multiple columns into table using mysqli ) 
Estoy tratando de insertar datos de formularios en mi tabla SQL. Los datos de formularios son un largo cuestionario que tiene varias preguntas. Esto significa...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos