Mysql
 sql >> Datenbank >  >> RDS >> Mysql

php mit mysql db in cloud 9 verbinden?

Okay, keine der obigen Antworten hat für mich funktioniert, aber zum Glück konnte ich eine Datenbank einrichten und auf meine Weise zum Laufen bringen, und ich kann jetzt Abfragen erstellen und sie erfolgreich ausführen, also werde ich meine Methode mit Ihnen teilen in der Hoffnung, dass jemand anderes, der das Internet durchforstet, darüber stolpern kann und nicht dasselbe Kopfkratzen durchmachen muss wie ich.

Wenn Sie den schnellen Überblick wünschen, scrollen Sie einfach zu Schritt 3 und von da an weiterlesen. Wenn Sie ein absoluter Anfänger sind, lesen Sie weiter, während ich Sie im Detail durchführe.

Paar Dinge zu erwähnen:

  • Sie müssen eine Datenbank über ein Terminal in Cloud 9 einrichten. Ich hatte zuvor keine Erfahrung damit, dies in einem Terminal zu tun, aber es ist sehr einfach zu lernen.
  • Sie können nicht Verwenden Sie mysql Funktionen, müssen Sie mysqli verwenden , seit mysql Funktionen sind veraltet und werden von Cloud 9 nicht ausgeführt.

Schritt 1 :Richten Sie MySQL auf Cloud 9 ein (im Terminal)

Öffnen Sie in Ihrem Projekt ein neues Terminal (klicken Sie auf die Pluszeichen-Registerkarte über dem Texteditorbereich, wählen Sie „Neues Terminal“). Geben Sie im Terminal mysql-ctl start ein und drücken Sie die Eingabetaste. MySQL startet im Hintergrund, aber Sie erhalten keine Antwort im Terminal zurück.

Geben Sie als Nächstes mysql-ctl cli ein und drücken Sie die Eingabetaste. Sie sollten einen Text sehen, der mit Welcome to the MySQL monitor... beginnt . Herzlichen Glückwunsch, Sie haben MySQL in Ihrem Cloud 9-Projekt eingerichtet.

Schritt 2 :Erstellen Sie eine Testdatenbank (im Terminal)

Sie können tatsächlich fortfahren und Ihre offizielle Datenbank erstellen, wenn Sie möchten, aber aus diesem Grund werde ich nur eine Datenbank erstellen, die eine Tabelle enthält, die eine ID und einen Benutzernamen enthält. Hier sind also die Schritte zum Einrichten einer Datenbank und einer Tabelle. Wenn Sie bereits MySQL und Datenbanken verwendet haben, sollte dies ein Kinderspiel sein, aber ich werde es im Detail für diejenigen erklären, die MySQL möglicherweise nicht vollständig verstehen.

  1. Geben Sie SHOW DATABASES; ein und drücken Sie die Eingabetaste. Dadurch wird eine Liste der aktuellen Datenbanken in Ihrem Projekt angezeigt. Sie können dies jederzeit eingeben, wenn Sie eine Liste Ihrer Datenbanken zum aktuellen Projekt sehen möchten.
  2. Geben Sie CREATE DATABASE sample_db; ein und drücken Sie die Eingabetaste. Sie sollten eine Query OK, 1 Row affected. erhalten was bedeutet, dass die Abfrage erfolgreich war. Sie können die Datenbank beliebig benennen, aber für diese kleine Anleitung habe ich sie sample_db genannt .
  3. Geben Sie USE sample_db; ein und drücken Sie die Eingabetaste. Dies wählt sample_db aus aus der Liste der Datenbanken.
  4. Geben Sie CREATE TABLE users (id INT(11), username VARCHAR(20)); ein , und drücken Sie die Eingabetaste. Dadurch wird eine Tabelle mit dem Namen users erstellt mit zwei Spalten:id und username . Die Zahl in Klammern stellt die Zeichenbegrenzung dar, die die Spalte in der Datenbank speichert. In diesem Fall zum Beispiel username enthält keine Zeichenfolge, die länger als 20 Zeichen ist.
  5. Geben Sie INSERT INTO users (id, username) VALUES (1, "graham12"); ein , und drücken Sie die Eingabetaste. Dadurch wird die ID von 1 hinzugefügt und einen Benutzernamen graham12 in der Tabelle. Da die id Spalte ist ein INT , wir setzen keine Anführungszeichen darum.
  6. Geben Sie SELECT * FROM users; ein , und drücken Sie die Eingabetaste. Dies zeigt alles, was in users ist Tisch. Der einzige Eintrag dort sollte das sein, was wir aus dem letzten Schritt eingefügt haben, den wir gerade gemacht haben.

Schritt 3 :Rufen Sie die Anmeldeinformationen ab, die Sie zum Herstellen einer Verbindung mit der Datenbank von PHP benötigen. (im Terminal)

Jetzt haben wir einige Daten in unserer Tabelle, mit denen wir unser mysqli testen können Verbindung mit. Aber zuerst müssen wir die Anmeldeinformationen erhalten, die wir benötigen, um uns mit der Datenbank in PHP zu verbinden. In Cloud 9 benötigen wir 5 Anmeldeinformationen, um eine Verbindung herzustellen:

  1. Hostname
  2. Benutzername
  3. Passwort
  4. Datenbankname
  5. Portnummer

Benutzername, Passwort, Datenbankname und Portnummer sind Ihnen inzwischen praktisch schon bekannt. Ich werde es erklären:

  1. Hostname - Geben Sie SHOW VARIABLES WHERE Variable_name = 'hostname'; ein , und drücken Sie die Eingabetaste. Sie erhalten eine Tabelle mit 2 Spalten:Variable_name und Value . Im Value Spalte sollten Sie so etwas wie yourUsername-yourProjectName-XXXXXXX sehen , wobei das X 's sind eine 7-stellige Zahl. Notieren Sie sich diese Nummer oder speichern Sie sie irgendwo ab. Dies ist Ihr Hostname. (Wenn Sie den schnellen Überblick über diese exemplarische Vorgehensweise erhalten, starten Sie einfach ein neues Terminal und starten Sie Ihr mysql und wählen Sie die Datenbank aus, die Sie verwenden möchten, und geben Sie dann SHOW VARIABLES WHERE Variable_name = 'hostname'; . Lesen Sie diesen Schritt noch einmal von Anfang an, wenn Sie verwirrt sind.)
  2. Benutzername - Ihr Benutzername, mit dem Sie sich bei Cloud 9 anmelden.
  3. Passwort - Es gibt NEIN Passwort für Ihre Datenbank in Cloud 9.
  4. Datenbankname - Dies wäre sample_db oder wie auch immer Sie Ihre Datenbank genannt haben;
  5. Portnummer - ist 3306 . In Cloud 9 sind alle Ihre Projekte mit 3306 verbunden . Dies ist eine universelle Konstante von Cloud 9. Es wird nichts anderes sein. Schreiben Sie dies wie eine Ganzzahl, nicht als Schnur. mysqli_connect() interpretiert die Portnummer als long Datentyp.

Letzter Schritt :Verbinden Sie sich mit PHP mit der Datenbank! (mit PHP)

Öffnen Sie eine PHP-Datei und benennen Sie sie nach Belieben.

Ich gebe vor, dass mein Hostname graham12-sample_db-1234567 ist für dieses Beispiel und dass dies mein ist Daten sehen so aus:

  • Hostname:"graham12-sample_db-1234567"
  • Benutzername:"graham12"
  • Passwort:""
  • Datenbankname:"sample_db"
  • Portnummer:3306

Also in PHP , fügen Sie Ihre ein Anmeldeinformationen entsprechend:

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

?>

Wenn Sie ein Ergebnis und keinen Fehler erhalten, haben Sie erfolgreich eine Datenbank eingerichtet und eine Verbindung zu ihr mit PHP in Cloud 9 hergestellt. Sie sollten jetzt in der Lage sein, alle Abfragen zu machen, die Sie normalerweise machen können.

Hinweis:Ich habe den letzten Teil der Einfachheit halber ohne parametrisierte Abfragen demonstriert. Sie sollten immer parametrisierte Abfragen verwenden, wenn Sie mit echten Webanwendungen arbeiten. Weitere Informationen dazu erhalten Sie hier:MySQLi Prepared Statements .