Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

php conectar ao banco de dados mysql na nuvem 9?


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 usar mysqli , uma vez que mysql 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 .
  1. 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.
  2. Digite CREATE DATABASE sample_db; e pressione Enter. Você deve obter uma Query 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 de sample_db .
  3. Digite USE sample_db; e pressione Enter. Isso seleciona sample_db da lista de bancos de dados.
  4. Digite CREATE TABLE users (id INT(11), username VARCHAR(20)); e pressione Enter. Isso cria uma tabela chamada users com duas colunas:id e username . 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.
  5. Digite INSERT INTO users (id, username) VALUES (1, "graham12"); e pressione Enter. Isso adicionará o id de 1 e um nome de usuário graham12 na mesa. Como o id coluna é um INT , não colocamos aspas.
  6. Digite SELECT * FROM users; e pressione Enter. Isso mostrará tudo o que está em users 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:
  1. Nome do host
  2. Nome de usuário
  3. Senha
  4. Nome do banco de dados
  5. Porta #

Nome de usuário, senha, nome do banco de dados e porta #, praticamente já são conhecidos por você agora. Eu vou explicar:
  1. Nome do host - Digite SHOW VARIABLES WHERE Variable_name = 'hostname'; e pressione Enter. Você obterá uma tabela com 2 colunas:Variable_name e Value . No Value coluna, você deve ver algo como yourUsername-yourProjectName-XXXXXXX , onde o X 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, digite SHOW VARIABLES WHERE Variable_name = 'hostname';> . Releia esta etapa desde o início se estiver confuso.)
  2. Nome de usuário - Seu nome de usuário que você usa para fazer login no Cloud 9.
  3. Senha - Existe NÃO senha para seu banco de dados no Cloud 9.
  4. Nome do banco de dados - Isso seria sample_db ou como você nomeou seu banco de dados;
  5. Porta # - é 3306 . No Cloud 9, todos os seus projetos são conectados a 3306 . 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 um long 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 .