sql >> Base de Datos >  >> RDS >> Mysql

php conectarse a mysql db en la nube 9?

De acuerdo, ninguna de las respuestas anteriores funcionó para mí, pero afortunadamente pude configurar una base de datos y ponerla en funcionamiento a mi manera y ahora puedo hacer consultas y ejecutarlas con éxito, así que compartiré mi método con ustedes. con la esperanza de que cualquier otra persona que busque en Internet pueda tropezar con esto y no tener que pasar por el mismo rascado de cabeza que yo.

Si desea un resumen rápido, desplácese hasta el Paso 3 y sigue leyendo desde allí. Si eres un completo principiante, sigue leyendo, ya que te guiaré en detalle.

Un par de cosas para mencionar:

  • Tendrá que configurar una base de datos a través de una Terminal en Cloud 9. No tenía experiencia previa en hacerlo en una Terminal, pero es muy fácil de aprender.
  • Usted puede no usa mysql funciones, tienes que usar mysqli , ya que mysql Las funciones están obsoletas y Cloud 9 no las ejecutará.

Paso 1 :Configurar MySQL en Cloud 9 (en Terminal)

En su proyecto, abra una nueva terminal (haga clic en la pestaña del signo más arriba del espacio del editor de texto, seleccione "Nueva terminal"). En la terminal, escriba mysql-ctl start y presione Entrar. MySQL se iniciará en la parte posterior, pero no obtendrá ninguna respuesta en la terminal.

A continuación, escriba mysql-ctl cli y presione Entrar. Debería ver un texto que comienza como Welcome to the MySQL monitor... . Felicidades, ha configurado MySQL en su proyecto de Cloud 9.

Paso 2 :Crear una base de datos de prueba (en Terminal)

De hecho, puede continuar y crear su base de datos oficial si lo desea, pero por este motivo solo crearé una base de datos que contenga una tabla que contenga una identificación y un nombre de usuario. Estos son los pasos para configurar una base de datos y una tabla. Si ha usado MySQL y bases de datos anteriormente, entonces esto debería ser pan comido, pero lo explicaré en detalle para aquellos que no entiendan completamente MySQL.

  1. Escriba SHOW DATABASES; y presione Entrar. Esto mostrará una lista de las bases de datos actuales dentro de su proyecto. Puede ingresar esto en cualquier momento que desee ver una lista de sus bases de datos en el proyecto actual.
  2. Escriba CREATE DATABASE sample_db; y presione Entrar. Debería obtener una Query OK, 1 Row affected. lo que significa que la consulta fue exitosa. Puede nombrar la base de datos como desee, pero para este pequeño recorrido, la llamé sample_db .
  3. Escriba USE sample_db; y presione Entrar. Esto selecciona sample_db de la lista de bases de datos.
  4. Escriba CREATE TABLE users (id INT(11), username VARCHAR(20)); y pulsa Intro. Esto crea una tabla llamada users con dos columnas:id y username . El número entre paréntesis representa el límite de caracteres que la columna almacenará en la base de datos. En este caso, por ejemplo, username no contendrá una cadena de más de 20 caracteres de longitud.
  5. Escriba INSERT INTO users (id, username) VALUES (1, "graham12"); y pulsa Intro. Esto agregará la identificación de 1 y un nombre de usuario graham12 en la mesa. Desde el id la columna es un INT , no lo ponemos entre comillas.
  6. Escriba SELECT * FROM users; y pulsa Intro. Esto mostrará todo lo que está en los users mesa. La única entrada allí debe ser lo que insertamos en el último paso que acabamos de hacer.

Paso 3 :obtenga las credenciales que necesitará para conectarse a la base de datos desde PHP. (en Terminal)

Ahora tenemos algunos datos en nuestra tabla que podemos probar nuestro mysqli Conexión con. Pero primero, debemos obtener las credenciales que necesitaremos para conectarnos a la base de datos en PHP. En Cloud 9, necesitaremos 5 credenciales para conectarnos:

  1. Nombre de host
  2. Nombre de usuario
  3. Contraseña
  4. Nombre de la base de datos
  5. Número de puerto

El nombre de usuario, la contraseña, el nombre de la base de datos y el número de puerto prácticamente ya los conoce. Te explico:

  1. Nombre de host - Escriba SHOW VARIABLES WHERE Variable_name = 'hostname'; y pulsa Intro. Obtendrá una tabla que tiene 2 columnas:Variable_name y Value . En el Value columna debería ver algo como yourUsername-yourProjectName-XXXXXXX , donde X 's son un número de 7 dígitos. Anote este número o guárdelo en algún lugar. Este es su nombre de host. (Si está obteniendo un resumen rápido de este tutorial, simplemente inicie una nueva terminal e inicie su mysql y seleccione la base de datos que desea usar, luego escriba SHOW VARIABLES WHERE Variable_name = 'hostname'; . Vuelva a leer este paso desde el principio si está confundido).
  2. Nombre de usuario - Su nombre de usuario que utiliza para iniciar sesión en Cloud 9.
  3. Contraseña - Hay NO contraseña para su base de datos en Cloud 9.
  4. Nombre de la base de datos - Esto sería sample_db o como sea que haya llamado a su base de datos;
  5. Número de puerto - es 3306 . En Cloud 9, todos sus proyectos están conectados a 3306 . Esta es una constante universal de Cloud 9. No será otra cosa. Escriba esto como lo haría con un número entero, no como una cadena. mysqli_connect() interpretará el puerto # como un long tipo de datos.

Último paso :¡Conéctese a la base de datos con PHP! (usando PHP)

Abra un archivo PHP y asígnele el nombre que desee.

Fingiré que mi nombre de host es graham12-sample_db-1234567 para este ejemplo y que esto es lo que my los datos se ven como:

  • Nombre de host:"graham12-sample_db-1234567"
  • Nombre de usuario:"graham12"
  • Contraseña:""
  • Nombre de la base de datos:"sample_db"
  • Número de puerto:3306

Entonces en PHP , inserte su credenciales en consecuencia:

<?php

    //Connect to the database
    $host = "grahamsutt12-sample_db-1234567";   //See Step 3 about how to get host name
    $user = "grahamsutt12";                     //Your Cloud 9 username
    $pass = "";                                 //Remember, there is NO password!
    $db = "sample_db";                          //Your database name you want to connect to
    $port = 3306;                               //The port #. It is always 3306

    $connection = mysqli_connect($host, $user, $pass, $db, $port)or die(mysql_error());



    //And now to perform a simple query to make sure it's working
    $query = "SELECT * FROM users";
    $result = mysqli_query($connection, $query);

    while ($row = mysqli_fetch_assoc($result)) {
        echo "The ID is: " . $row['id'] . " and the Username is: " . $row['username'];
    }

?>

Si obtiene un resultado y ningún error, entonces ha configurado correctamente una base de datos y ha formado una conexión con PHP en Cloud 9. Ahora debería poder realizar todas las consultas que normalmente puede realizar.

Nota:Demostré la última parte sin usar consultas parametrizadas para simplificar. Siempre debe usar consultas parametrizadas cuando trabaje con aplicaciones web reales. Puede obtener más información al respecto aquí:Declaraciones preparadas de MySQLi .