sql >> Database >  >> RDS >> Mysql

php verbinding maken met mysql db in cloud 9?

Oké, dus geen van de bovenstaande antwoorden had voor mij gewerkt, maar gelukkig was ik in staat om een ​​database op te zetten en op mijn eigen manier in gebruik te nemen en ik kan nu query's maken en ze met succes uitvoeren, dus ik zal mijn methode met je delen in de hoop dat iemand anders die het internet afstruint dit kan tegenkomen en niet door hetzelfde hoofd krabben hoeft te gaan als ik.

Als je een snel overzicht wilt, scroll dan naar Stap 3 en lees vanaf daar verder. Als je een complete beginner bent, blijf dan lezen, want ik zal je er in detail doorheen leiden.

Paar dingen om op te noemen:

  • Je zult een database moeten opzetten via een Terminal in Cloud 9. Ik had geen ervaring voordat ik dit eerder in een Terminal deed, maar het is heel eenvoudig te leren.
  • Je kunt niet gebruik mysql functies, moet u mysqli . gebruiken , sinds mysql functies zijn verouderd en Cloud 9 zal ze niet uitvoeren.

Stap 1 :MySQL instellen op Cloud 9 (in Terminal)

Open in uw project een nieuwe terminal (klik op het plustekentabblad boven de teksteditorruimte, selecteer "Nieuwe terminal"). Typ in de terminal mysql-ctl start en druk op Enter. MySQL start achterin op, maar u krijgt geen reactie terug in de terminal.

Typ vervolgens mysql-ctl cli en druk op Enter. Je zou wat tekst moeten zien die begint als Welcome to the MySQL monitor... . Gefeliciteerd, je hebt MySQL ingesteld op je Cloud 9-project.

Stap 2 :Maak een testdatabase (in Terminal)

Je kunt doorgaan en je officiële database maken als je wilt, maar daarom zal ik gewoon een database maken met een tabel met een ID en een gebruikersnaam. Dus hier zijn de stappen voor het opzetten van een database en een tabel. Als je eerder MySQL en databases hebt gebruikt, zou dit een makkie moeten zijn, maar ik zal het in detail uitleggen voor degenen die MySQL misschien niet volledig begrijpen.

  1. Typ SHOW DATABASES; en druk op Enter. Dit toont een lijst met huidige databases binnen uw project. U kunt dit op elk moment invoeren als u een lijst met uw databases over het huidige project wilt zien.
  2. Typ CREATE DATABASE sample_db; en druk op Enter. U zou een Query OK, 1 Row affected. wat betekent dat de zoekopdracht is geslaagd. Je kunt de database een naam geven die je wilt, maar voor deze kleine uitleg heb ik hem sample_db genoemd. .
  3. Typ USE sample_db; en druk op Enter. Dit selecteert sample_db uit de lijst met databases.
  4. Typ CREATE TABLE users (id INT(11), username VARCHAR(20)); en druk op Enter. Dit creëert een tabel met de naam users met twee kolommen:id en username . Het getal tussen haakjes staat voor de tekenlimiet die de kolom in de database zal opslaan. In dit geval bijvoorbeeld username houdt geen string langer dan 20 tekens lang vast.
  5. Typ INSERT INTO users (id, username) VALUES (1, "graham12"); en druk op Enter. Dit zal de id van 1 . toevoegen en een gebruikersnaam graham12 in de tafel. Sinds de id kolom is een INT , we zetten er geen aanhalingstekens omheen.
  6. Typ SELECT * FROM users; en druk op Enter. Dit zal alles tonen wat in de users . staat tafel. De enige vermelding daarin zou moeten zijn wat we hebben ingevoegd bij de laatste stap die we zojuist hebben gedaan.

Stap 3 :Haal de inloggegevens op die u nodig hebt om verbinding te maken met de database vanuit PHP. (in Terminal)

Nu hebben we wat gegevens in onze tabel die we kunnen testen met onze mysqli verbinding met. Maar eerst moeten we de inloggegevens krijgen die we nodig hebben om verbinding te maken met de database in PHP. In Cloud 9 hebben we 5 inloggegevens nodig om verbinding te maken:

  1. Hostnaam
  2. Gebruikersnaam
  3. Wachtwoord
  4. Databasenaam
  5. Poort #

Gebruikersnaam, wachtwoord, databasenaam en poortnummer zijn u inmiddels praktisch al bekend. Ik zal het uitleggen:

  1. Hostnaam - Typ SHOW VARIABLES WHERE Variable_name = 'hostname'; en druk op Enter. U krijgt een tabel met 2 kolommen:Variable_name en Value . In de Value kolom zou je zoiets moeten zien als yourUsername-yourProjectName-XXXXXXX , waarbij de X 's zijn een 7-cijferig nummer. Schrijf dit nummer op of bewaar het ergens. Dit is uw hostnaam. (Als je een snel overzicht krijgt van deze walkthrough, start dan gewoon een nieuwe terminal en start je mysql en selecteer de database die je wilt gebruiken, typ vervolgens SHOW VARIABLES WHERE Variable_name = 'hostname'; . Lees deze stap opnieuw vanaf het begin als je in de war bent.)
  2. Gebruikersnaam - Uw gebruikersnaam die u gebruikt om in te loggen op Cloud 9.
  3. Wachtwoord - Er is NEE wachtwoord voor uw database in Cloud 9.
  4. Databasenaam - Dit zou sample_db . zijn of hoe je je database ook hebt genoemd;
  5. Poort # - is 3306 . In Cloud 9 zijn al uw projecten aangesloten op 3306 . Dit is een universele constante van Cloud 9. Het zal niet anders zijn. Schrijf dit zoals je een geheel getal zou doen, niet als een koord. mysqli_connect() zal de poort # interpreteren als een long gegevenstype.

Laatste stap :Maak verbinding met de database met PHP! (met PHP)

Open een PHP-bestand en noem het zoals je wilt.

Ik doe alsof mijn hostnaam graham12-sample_db-1234567 is voor dit voorbeeld en dat dit is wat mijn gegevens zien er als volgt uit:

  • Hostnaam:"graham12-sample_db-1234567"
  • Gebruikersnaam:"graham12"
  • Wachtwoord:""
  • Databasenaam:"sample_db"
  • Poort #:3306

Dus in PHP , voeg uw . in referenties dienovereenkomstig:

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

?>

Als je een resultaat krijgt en geen foutmelding, dan heb je met succes een database opgezet en er een verbinding mee gemaakt met PHP in Cloud 9. Je zou nu alle query's moeten kunnen maken die je normaal kunt maken.

Opmerking:ik heb het laatste deel gedemonstreerd zonder geparametriseerde queries te gebruiken om het simpel te houden. U moet altijd geparametriseerde query's gebruiken wanneer u met echte webtoepassingen werkt. U kunt hier meer informatie over krijgen:MySQLi-voorbereide verklaringen .



  1. Oracle hoe een query naar een tekst/csv-bestand te exporteren

  2. Een CLOB invoegen met cx_Oracle

  3. Moet ik in MySQL getallen citeren of niet?

  4. MySQL-cluster (NDB) versus MySQL-replicatie (InnoDB) voor Rails 3-apps:voor- en nadelen?