D'accord, donc aucune des réponses ci-dessus n'avait fonctionné pour moi, mais heureusement, j'ai pu configurer une base de données et la mettre en place et la faire fonctionner à ma façon et je peux maintenant faire des requêtes et les exécuter avec succès, donc je vais partager ma méthode avec vous dans l'espoir que quiconque parcourant Internet puisse tomber dessus et ne pas avoir à se gratter la tête comme moi.
Si vous souhaitez un aperçu rapide, faites simplement défiler jusqu'à Étape 3 et lisez la suite à partir de là. Si vous êtes un débutant complet, continuez à lire car je vous expliquerai en détail.
Quelques éléments à mentionner :
- Vous devrez configurer une base de données via un terminal dans Cloud 9. Je n'avais aucune expérience dans ce domaine, mais c'est très simple à apprendre.
- Vous ne pouvez pas utiliser
mysql
fonctions, vous devez utilisermysqli
, depuismysql
les fonctions sont obsolètes et Cloud 9 ne les exécutera pas.
Étape 1 :Configurer MySQL sur Cloud 9 (dans Terminal)
Dans votre projet, ouvrez un nouveau terminal (cliquez sur l'onglet signe plus au-dessus de l'espace de l'éditeur de texte, sélectionnez "Nouveau terminal"). Dans le terminal, tapez mysql-ctl start
et appuyez sur Entrée. MySQL démarrera à l'arrière, mais vous n'obtiendrez aucune réponse dans le terminal.
Ensuite, tapez mysql-ctl cli
et appuyez sur Entrée. Vous devriez voir un texte commençant par Welcome to the MySQL monitor...
. Félicitations, vous avez configuré MySQL sur votre projet Cloud 9.
Étape 2 :Créer une base de données de test (dans Terminal)
Vous pouvez en fait continuer et créer votre base de données officielle si vous le souhaitez, mais pour cela, je vais simplement créer une base de données contenant une table contenant un identifiant et un nom d'utilisateur. Voici donc les étapes pour configurer une base de données et une table. Si vous avez déjà utilisé MySQL et des bases de données, cela devrait être un jeu d'enfant, mais je vais l'expliquer en détail pour ceux qui pourraient ne pas bien comprendre MySQL.
- Tapez
SHOW DATABASES;
et appuyez sur Entrée. Cela affichera une liste des bases de données actuelles dans votre projet. Vous pouvez entrer ceci chaque fois que vous voulez voir une liste de vos bases de données sur le projet en cours. - Tapez
CREATE DATABASE sample_db;
et appuyez sur Entrée. Vous devriez obtenir unQuery OK, 1 Row affected.
ce qui signifie que la requête a réussi. Vous pouvez nommer la base de données comme bon vous semble, mais pour cette petite présentation, je l'ai nomméesample_db
. - Tapez
USE sample_db;
et appuyez sur Entrée. Cela sélectionnesample_db
de la liste des bases de données. - Tapez
CREATE TABLE users (id INT(11), username VARCHAR(20));
, et appuyez sur Entrée. Cela crée une table nomméeusers
avec deux colonnes :id
etusername
. Le nombre entre parenthèses représente la limite de caractères que la colonne stockera dans la base de données. Dans ce cas par exemple,username
ne contiendra pas une chaîne de plus de 20 caractères. - Tapez
INSERT INTO users (id, username) VALUES (1, "graham12");
, et appuyez sur Entrée. Cela ajoutera l'identifiant de1
et un nom d'utilisateurgraham12
dans la table. Depuis leid
la colonne est unINT
, nous ne l'entourons pas de guillemets. - Tapez
SELECT * FROM users;
, et appuyez sur Entrée. Cela affichera tout ce qui se trouve dans lesusers
table. La seule entrée devrait être ce que nous avons inséré à partir de la dernière étape que nous venons de faire.
Étape 3 :obtenez les informations d'identification dont vous aurez besoin pour vous connecter à la base de données à partir de PHP. (dans Terminal)
Nous avons maintenant des données dans notre table que nous pouvons tester notre mysqli
connexion avec. Mais d'abord, nous devons obtenir les informations d'identification dont nous aurons besoin pour nous connecter à la base de données en PHP. Dans Cloud 9, nous aurons besoin de 5 identifiants pour nous connecter :
- Nom d'hôte
- Nom d'utilisateur
- Mot de passe
- Nom de la base de données
- Numéro de port
Le nom d'utilisateur, le mot de passe, le nom de la base de données et le numéro de port vous sont pratiquement déjà connus. Je vais vous expliquer :
- Nom d'hôte - Tapez
SHOW VARIABLES WHERE Variable_name = 'hostname';
, et appuyez sur Entrée. Vous obtiendrez un tableau à 2 colonnes :Variable_name
etValue
. Dans laValue
colonne, vous devriez voir quelque chose commeyourUsername-yourProjectName-XXXXXXX
, où leX
's sont un nombre à 7 chiffres. Notez ce numéro ou enregistrez-le quelque part. Ceci est votre nom d'hôte. (Si vous obtenez un aperçu rapide de cette procédure pas à pas, démarrez simplement un nouveau terminal et démarrez votre mysql et sélectionnez la base de données que vous souhaitez utiliser, puis tapezSHOW VARIABLES WHERE Variable_name = 'hostname';
. Relisez cette étape depuis le début si vous êtes confus.) - Nom d'utilisateur - Votre nom d'utilisateur que vous utilisez pour vous connecter à Cloud 9.
- Mot de passe - Il n'y a NON mot de passe pour votre base de données dans Cloud 9.
- Nom de la base de données - Ce serait
sample_db
ou quel que soit le nom que vous avez donné à votre base de données ; - Numéro de port - est
3306
. Dans Cloud 9, tous vos projets sont reliés au3306
. C'est une constante universelle du Cloud 9. Ce ne sera rien d'autre. Écrivez ceci comme vous le feriez pour un entier, pas sous forme de chaîne.mysqli_connect()
interprétera le numéro de port comme unlong
type de données.
Dernière étape :Connectez-vous à la base de données avec PHP ! (en PHP)
Ouvrez un fichier PHP et nommez-le comme vous le souhaitez.
Je vais prétendre que mon nom d'hôte est graham12-sample_db-1234567
pour cet exemple et que c'est ce que mon les données ressemblent à :
- Nom d'hôte :"graham12-sample_db-1234567"
- Nom d'utilisateur :"graham12"
- Mot de passe :""
- Nom de la base de données :"sample_db"
- N° de port :3306
Donc en PHP , insérez votre informations d'identification en conséquence :
<?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 vous obtenez un résultat et aucune erreur, vous avez réussi à configurer une base de données et à établir une connexion avec PHP dans Cloud 9. Vous devriez maintenant pouvoir effectuer toutes les requêtes que vous pouvez normalement effectuer.
Remarque :j'ai démontré la dernière partie sans utiliser de requêtes paramétrées par souci de simplicité. Vous devez toujours utiliser des requêtes paramétrées lorsque vous travaillez avec de vraies applications Web. Vous pouvez obtenir plus d'informations à ce sujet ici :Instructions préparées MySQL .