Mysql
 sql >> Database >  >> RDS >> Mysql

php connettersi a mysql db nel cloud 9?

Ok, quindi nessuna delle risposte di cui sopra ha funzionato per me, ma fortunatamente sono stato in grado di configurare un database e farlo funzionare a modo mio e ora posso fare query ed eseguirle correttamente, quindi condividerò il mio metodo con te nella speranza che chiunque altro navighi su Internet possa inciampare in questo e non dover affrontare lo stesso grattarsi la testa che ho fatto io.

Se vuoi una rapida carrellata, scorri fino al Passaggio 3 e continua a leggere da lì. Se sei un principiante assoluto, continua a leggere mentre ti spiegherò in dettaglio.

Un paio di cose da menzionare:

  • Dovrai configurare un database tramite un Terminal in Cloud 9. Non avevo esperienza prima di farlo in un Terminal, ma è molto semplice da imparare.
  • Puoi non usa mysql funzioni, devi usare mysqli , poiché mysql le funzioni sono obsolete e Cloud 9 non le eseguirà.

Passaggio 1 :Imposta MySQL su Cloud 9 (in Terminale)

Nel tuo progetto, apri un Nuovo Terminale (fai clic sulla scheda del segno più sopra lo spazio dell'editor di testo, seleziona "Nuovo Terminale"). Nel terminale, digita mysql-ctl start e premi Invio. MySQL si avvierà nella parte posteriore, ma non riceverai alcuna risposta nel terminale.

Quindi, digita mysql-ctl cli e premi Invio. Dovresti vedere del testo che inizia come Welcome to the MySQL monitor... . Congratulazioni, hai configurato MySQL sul tuo progetto Cloud 9.

Passaggio 2 :Crea un database di test (in Terminale)

Puoi effettivamente andare avanti e creare il tuo database ufficiale, se lo desideri, ma per questo creerò semplicemente un database che contiene una tabella che contiene un ID e un nome utente. Quindi ecco i passaggi per configurare un database e una tabella. Se hai già utilizzato MySQL e database in precedenza, questa dovrebbe essere una torta, ma la spiegherò in dettaglio per coloro che potrebbero non comprendere completamente MySQL.

  1. Digita SHOW DATABASES; e premi Invio. Questo mostrerà un elenco di database correnti all'interno del tuo progetto. Puoi inserirlo ogni volta che vuoi vedere un elenco dei tuoi database sul progetto corrente.
  2. Digita CREATE DATABASE sample_db; e premi Invio. Dovresti ottenere una Query OK, 1 Row affected. il che significa che la query ha avuto successo. Puoi nominare il database come preferisci, ma per questa piccola procedura dettagliata, l'ho chiamato sample_db .
  3. Digita USE sample_db; e premi Invio. Questo seleziona sample_db dall'elenco dei database.
  4. Digita CREATE TABLE users (id INT(11), username VARCHAR(20)); e premi Invio. Questo crea una tabella denominata users con due colonne:id e username . Il numero tra parentesi rappresenta il limite di caratteri che la colonna memorizzerà nel database. In questo caso, ad esempio, username non conterrà una stringa di lunghezza superiore a 20 caratteri.
  5. Digita INSERT INTO users (id, username) VALUES (1, "graham12"); e premi Invio. Questo aggiungerà l'id di 1 e un nome utente graham12 sul tavolo. Dal momento che l'id la colonna è un INT , non ci mettiamo virgolette.
  6. Digita SELECT * FROM users; e premi Invio. Questo mostrerà tutto ciò che è negli users tavolo. L'unica voce dovrebbe essere quella che abbiamo inserito dall'ultimo passaggio che abbiamo appena fatto.

Passaggio 3 :Ottieni le credenziali necessarie per connetterti al database da PHP. (nel Terminale)

Ora abbiamo alcuni dati nella nostra tabella che possiamo testare il nostro mysqli connessione con. Ma prima, dobbiamo ottenere le credenziali di cui avremo bisogno per connetterci al database in PHP. In Cloud 9, avremo bisogno di 5 credenziali per connetterci:

  1. Nome host
  2. Nome utente
  3. Password
  4. Nome database
  5. Porta #

Il nome utente, la password, il nome del database e il numero di porta sono praticamente già noti a te ormai. Ti spiego:

  1. Nome host - Digita SHOW VARIABLES WHERE Variable_name = 'hostname'; e premi Invio. Otterrai una tabella con 2 colonne:Variable_name e Value . Nel Value colonna dovresti vedere qualcosa come yourUsername-yourProjectName-XXXXXXX , dove la X Sono un numero di 7 cifre. Annota questo numero o salvalo da qualche parte. Questo è il tuo nome host. (Se stai ricevendo una rapida carrellata su questa procedura dettagliata, avvia un nuovo terminale e avvia il tuo mysql e seleziona il database che desideri utilizzare, quindi digita SHOW VARIABLES WHERE Variable_name = 'hostname'; . Se sei confuso, rileggi questo passaggio dall'inizio.)
  2. Nome utente - Il tuo nome utente che utilizzi per accedere a Cloud 9.
  3. Password - C'è NO password per il tuo database in Cloud 9.
  4. Nome database - Questo sarebbe sample_db o come hai chiamato il tuo database;
  5. Porta # - è 3306 . In Cloud 9, tutti i tuoi progetti sono collegati a 3306 . Questa è una costante universale di Cloud 9. Non sarà nient'altro. Scrivilo come faresti con un numero intero, non come una stringa. mysqli_connect() interpreterà la porta # come un long tipo di dati.

Ultimo passaggio :Collegati al database con PHP! (usando PHP)

Apri un file PHP e chiamalo come preferisci.

Farò finta che il mio nome host sia graham12-sample_db-1234567 per questo esempio e che questo è ciò che mio i dati assomigliano a:

  • Nome host:"graham12-sample_db-1234567"
  • Nome utente:"graham12"
  • Password:""
  • Nome database:"sample_db"
  • Porta n.:3306

Quindi in PHP , inserisci tuo credenziali di conseguenza:

<?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'];
    }

?>

Se ottieni un risultato e nessun errore, hai impostato correttamente un database e creato una connessione ad esso con PHP in Cloud 9. Ora dovresti essere in grado di eseguire tutte le query che puoi normalmente fare.

Nota:ho dimostrato l'ultima parte senza utilizzare query parametrizzate per semplicità. Dovresti sempre usare query parametrizzate quando lavori con applicazioni web reali. Puoi ottenere maggiori informazioni al riguardo qui:Dichiarazioni preparate per MySQL .