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

php oprette forbindelse til mysql db i cloud 9?

Okay, så ingen af ​​ovenstående svar havde fungeret for mig, men heldigvis var jeg i stand til at sætte en database op og få den op at køre på min egen måde, og jeg kan nu lave forespørgsler og køre dem med succes, så jeg vil dele min metode med dig i håb om, at alle andre, der gennemsøger internettet, kan falde over dette og ikke skulle gå igennem den samme hovedkradsning, som jeg gjorde.

Hvis du vil have en hurtig gennemgang, skal du bare rulle til Trin 3 og læs videre derfra. Hvis du er helt nybegynder, så fortsæt med at læse, da jeg vil guide dig igennem det i detaljer.

Et par ting at nævne:

  • Du bliver nødt til at konfigurere en database via en terminal i Cloud 9. Jeg havde ingen erfaring, før jeg gjorde det i en terminal før, men det er meget nemt at lære.
  • Det kan du ikke brug mysql funktioner, skal du bruge mysqli , da mysql funktioner er forældede, og Cloud 9 vil ikke køre dem.

Trin 1 :Konfigurer MySQL på Cloud 9 (i Terminal)

I dit projekt skal du åbne en ny terminal (klik på plustegnet over tekstredigeringsrummet, vælg "Ny terminal"). Skriv mysql-ctl start i terminalen og tryk på Enter. MySQL starter op bagved, men du får ikke noget svar tilbage i terminalen.

Indtast derefter mysql-ctl cli og tryk på Enter. Du bør se noget tekst, der starter som Welcome to the MySQL monitor... . Tillykke, du har konfigureret MySQL på dit Cloud 9-projekt.

Trin 2 :Opret en testdatabase (i Terminal)

Du kan faktisk gå videre og oprette din officielle database, hvis du vil, men for denne skyld laver jeg bare en database, der indeholder en tabel, der indeholder et ID og et brugernavn. Så her er trinene til at opsætte en database og en tabel. Hvis du har brugt MySQL og databaser før, så burde dette være kage, men jeg vil forklare det i detaljer for dem, der måske ikke helt forstår MySQL .

  1. Skriv SHOW DATABASES; og tryk på Enter. Dette vil vise en liste over aktuelle databaser i dit projekt. Du kan indtaste dette, når som helst du ønsker at se en liste over dine databaser på det aktuelle projekt.
  2. Indtast CREATE DATABASE sample_db; og tryk på Enter. Du bør få en Query OK, 1 Row affected. hvilket betyder, at forespørgslen lykkedes. Du kan navngive databasen, hvad du vil, men til denne lille gennemgang kaldte jeg den sample_db .
  3. Skriv USE sample_db; og tryk på Enter. Dette vælger sample_db fra listen over databaser.
  4. Indtast CREATE TABLE users (id INT(11), username VARCHAR(20)); , og tryk på Enter. Dette opretter en tabel med navnet users med to kolonner:id og username . Tallet i parentes repræsenterer tegngrænsen, som kolonnen vil gemme i databasen. I dette tilfælde f.eks. username vil ikke indeholde en streng på mere end 20 tegn.
  5. Indtast INSERT INTO users (id, username) VALUES (1, "graham12"); , og tryk på Enter. Dette tilføjer id'et for 1 og et brugernavn graham12 i bordet. Siden id kolonne er en INT , vi sætter ikke anførselstegn omkring det.
  6. Skriv SELECT * FROM users; , og tryk på Enter. Dette vil vise alt, hvad der er i users bord. Den eneste indgang der skulle være det, vi indsatte fra det sidste trin, vi lige gjorde.

Trin 3 :Få de legitimationsoplysninger, du skal bruge for at oprette forbindelse til databasen fra PHP. (i terminal)

Nu har vi nogle data i vores tabel, som vi kan teste vores mysqli forbindelse med. Men først skal vi få de legitimationsoplysninger, vi skal bruge for at oprette forbindelse til databasen i PHP. I Cloud 9 skal vi bruge 5 legitimationsoplysninger for at oprette forbindelse:

  1. Værtsnavn
  2. Brugernavn
  3. Adgangskode
  4. Databasenavn
  5. Port #

Brugernavn, adgangskode, databasenavn og port # er praktisk talt allerede kendt af dig nu. Jeg vil forklare:

  1. Værtsnavn - Indtast SHOW VARIABLES WHERE Variable_name = 'hostname'; , og tryk på Enter. Du får en tabel, der har 2 kolonner:Variable_name og Value . I Value kolonne skulle du se noget som yourUsername-yourProjectName-XXXXXXX , hvor X 's er et 7-cifret tal. Skriv dette nummer ned eller gem det et sted. Dette er dit værtsnavn. (Hvis du får en hurtig gennemgang af denne gennemgang, skal du bare starte en ny terminal og starte din mysql og vælge den database, du vil bruge, og derefter indtaste SHOW VARIABLES WHERE Variable_name = 'hostname'; . Læs dette trin igen fra begyndelsen, hvis du er forvirret.)
  2. Brugernavn - Dit brugernavn, som du bruger til at logge ind på Cloud 9.
  3. Adgangskode - Der er NEJ adgangskode til din database i Cloud 9.
  4. Databasenavn - Dette ville være sample_db eller hvad du nu kaldte din database;
  5. Port # - er 3306 . I Cloud 9 er alle dine projekter koblet til 3306 . Dette er en universel konstant for Cloud 9. Det bliver ikke noget andet. Skriv dette som et heltal, ikke som en snor. mysqli_connect() vil fortolke port # som en long datatype.

Sidste trin :Opret forbindelse til databasen med PHP! (ved hjælp af PHP)

Åbn en PHP-fil og navngiv den, hvad du vil.

Jeg vil foregive, at mit værtsnavn er graham12-sample_db-1234567 for dette eksempel, og at det er hvad mit er data ser sådan ud:

  • Værtsnavn:"graham12-sample_db-1234567"
  • Brugernavn:"graham12"
  • Adgangskode:""
  • Databasenavn:"sample_db"
  • Port #:3306

Så i PHP , indsæt din legitimationsoplysninger i overensstemmelse hermed:

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

?>

Hvis du får et resultat og ingen fejl, så har du opsat en database og dannet en forbindelse til den med PHP i Cloud 9. Du skulle nu være i stand til at lave alle de forespørgsler, du normalt kan lave.

Bemærk:Jeg demonstrerede den sidste del uden at bruge parametriserede forespørgsler for at være enkel. Du bør altid bruge parametriserede forespørgsler, når du arbejder med rigtige webapplikationer. Du kan få mere information om det her:MySQLi Prepared Statements .



  1. Opret en begivenhed i en procedure - SQL

  2. Hvordan gemmer man ikke-engelske tegn?

  3. Hvordan vi bruger databaser i vores hverdag

  4. Konvertering af Mysql Timestamp til tid siden postet