Ok, nenhuma das respostas acima funcionou para mim, mas felizmente consegui configurar um banco de dados e colocá-lo em funcionamento do meu jeito e agora posso fazer consultas e executá-las com sucesso, então compartilharei meu método com você na esperança de que qualquer outra pessoa vasculhando a internet possa se deparar com isso e não ter que passar pela mesma coça de cabeça que eu passei.
Se você quiser um resumo rápido, basta rolar até a Etapa 3 e continue lendo a partir daí. Se você é um iniciante completo, continue lendo, pois vou orientá-lo em detalhes.
Algumas coisas para mencionar:
- Você terá que configurar um banco de dados por meio de um Terminal no Cloud 9. Eu não tinha experiência em fazer isso em um Terminal antes, mas é muito simples de aprender.
- Você pode não use
mysql
funções, você tem que usarmysqli
, uma vez quemysql
funções estão obsoletas e o Cloud 9 não as executará.
Etapa 1 :Configurar MySQL no Cloud 9 (no Terminal)
Em seu projeto, abra um Novo Terminal (clique na aba de sinal de mais acima do espaço do editor de texto, selecione "Novo Terminal"). No terminal, digite
mysql-ctl start
e pressione Enter. O MySQL iniciará na parte de trás, mas você não receberá nenhuma resposta no terminal. Em seguida, digite
mysql-ctl cli
e pressione Enter. Você deve ver algum texto que começa como Welcome to the MySQL monitor...
. Parabéns, você configurou o MySQL em seu projeto do Cloud 9. Etapa 2 :Crie um banco de dados de teste (no Terminal)
Você pode realmente ir em frente e criar seu banco de dados oficial, se quiser, mas para isso vou apenas criar um banco de dados que contenha uma tabela que contenha um ID e um nome de usuário. Então, aqui estão as etapas para configurar um banco de dados e uma tabela. Se você já usou MySQL e bancos de dados antes, isso deve ser fácil, mas vou explicar em detalhes para aqueles que podem não entender completamente o MySQL .
- Digite
SHOW DATABASES;
e pressione Enter. Isso mostrará uma lista de bancos de dados atuais em seu projeto. Você pode inserir isso sempre que quiser ver uma lista de seus bancos de dados no projeto atual. - Digite
CREATE DATABASE sample_db;
e pressione Enter. Você deve obter umaQuery OK, 1 Row affected.
o que significa que a consulta foi bem-sucedida. Você pode nomear o banco de dados como quiser, mas para este pequeno passo a passo, chamei-o desample_db
. - Digite
USE sample_db;
e pressione Enter. Isso selecionasample_db
da lista de bancos de dados. - Digite
CREATE TABLE users (id INT(11), username VARCHAR(20));
e pressione Enter. Isso cria uma tabela chamadausers
com duas colunas:id
eusername
. O número entre parênteses representa o limite de caracteres que a coluna armazenará no banco de dados. Neste caso, por exemplo,username
não conterá uma string com mais de 20 caracteres. - Digite
INSERT INTO users (id, username) VALUES (1, "graham12");
e pressione Enter. Isso adicionará o id de1
e um nome de usuáriograham12
na mesa. Como oid
coluna é umINT
, não colocamos aspas. - Digite
SELECT * FROM users;
e pressione Enter. Isso mostrará tudo o que está emusers
tabela. A única entrada deve ser o que inserimos na última etapa que acabamos de fazer.
Etapa 3 :obtenha as credenciais necessárias para se conectar ao banco de dados do PHP. (no Terminal)
Agora temos alguns dados em nossa tabela que podemos testar nosso
mysqli
conexão com. Mas primeiro, temos que obter as credenciais que precisaremos para nos conectar ao banco de dados em PHP. No Cloud 9, precisaremos de 5 credenciais para conectar:- Nome do host
- Nome de usuário
- Senha
- Nome do banco de dados
- Porta #
Nome de usuário, senha, nome do banco de dados e porta #, praticamente já são conhecidos por você agora. Eu vou explicar:
- Nome do host - Digite
SHOW VARIABLES WHERE Variable_name = 'hostname';
e pressione Enter. Você obterá uma tabela com 2 colunas:Variable_name
eValue
. NoValue
coluna, você deve ver algo comoyourUsername-yourProjectName-XXXXXXX
, onde oX
s são um número de 7 dígitos. Anote esse número ou salve-o em algum lugar. Este é o seu nome de host. (Se você está obtendo o resumo rápido deste passo a passo, apenas inicie um novo terminal e inicie seu mysql e selecione o banco de dados que deseja usar, digiteSHOW VARIABLES WHERE Variable_name = 'hostname';
> . Releia esta etapa desde o início se estiver confuso.) - Nome de usuário - Seu nome de usuário que você usa para fazer login no Cloud 9.
- Senha - Existe NÃO senha para seu banco de dados no Cloud 9.
- Nome do banco de dados - Isso seria
sample_db
ou como você nomeou seu banco de dados; - Porta # - é
3306
. No Cloud 9, todos os seus projetos são conectados a3306
. Esta é uma constante universal da Nuvem 9. Não será outra coisa. Escreva isso como se fosse um número inteiro, não como uma corda.mysqli_connect()
interpretará o # da porta como umlong
tipo de dados.
Última etapa :Conecte-se ao banco de dados com PHP! (usando PHP)
Abra um arquivo PHP e nomeie-o como quiser.
Vou fingir que meu nome de host é
graham12-sample_db-1234567
para este exemplo e que é isso que meu dados se parecem com:- Nome do host:"graham12-sample_db-1234567"
- Nome de usuário:"graham12"
- Senha:""
- Nome do banco de dados:"sample_db"
- Porta nº:3306
Então, em PHP , insira seu credenciais em conformidade:
<?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 você obtiver um resultado e nenhum erro, então você configurou com sucesso um banco de dados e formou uma conexão com ele com PHP no Cloud 9. Agora você deve ser capaz de fazer todas as consultas que você pode fazer normalmente.
Nota:eu demonstrei a última parte sem usar consultas parametrizadas para ser simples. Você deve sempre usar consultas parametrizadas ao trabalhar com aplicativos da web reais. Você pode obter mais informações sobre isso aqui:MySQLi Prepared Statements .