php连接到云端9中的mysql数据库?

ltv*_*vie 2 php mysql cloud

我通常在我的电脑上将php连接到mysql与localhost ..现在我想把我的项目放在云https://c9.io,但我无法连接到mysql.我已经在云端拥有mysql数据库并将我的项目放在同一个地方......

mysql_connect("/lib/mysql/socket/mysql.sock","myUser","") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

我使用上面的脚本连接,但我得到 Unknown MySQL server host '/lib/mysql/socket/mysql.sock' (1)

我该怎么办?

Gra*_* S. 10

好的,所以上面的答案都没有对我有用,但幸运的是我能够设置一个数据库并按照我自己的方式运行它,我现在可以查询并成功运行它们,所以我将与你分享我的方法希望任何在网上搜索的人都可以偶然发现这一点,而不必像我那样经历同样的困难.

如果你想快速破解,只需滚动到第3步并从那里继续阅读.如果你是一个完整的初学者,请继续阅读,因为我将详细介绍它.

值得一提的事情:

  • 您将不得不通过Cloud 9中的终端设置数据库.我以前没有经验在终端之前做过,但它很容易学习.
  • 不能使用mysql必须使用的函数,mysqli因为mysql不推荐使用函数,Cloud 9也不会运行它们.

第1步:在Cloud 9上设置MySQL(在终端中)

在您的项目中,打开一个新终端(单击文本编辑器空间上方的加号选项卡,选择"新终端").在终端中,键入mysql-ctl start并按Enter键.MySQL将在后面启动,但你不会在终端中得到任何回复.

接下来,键入mysql-ctl cli并按Enter键.你应该看到一些文字开头Welcome to the MySQL monitor....恭喜,您已经在Cloud 9项目上设置了MySQL.


第2步:创建测试数据库(在终端中)

如果你愿意,你可以继续创建你的官方数据库,但为了这个缘故,我将创建一个包含一个包含ID和用户名的表的数据库.所以这是设置数据库和表的步骤.如果您之前使用过MySQL和数据库,那么这应该是蛋糕,但我会详细解释那些可能不完全了解MySQL的人.

  1. 键入SHOW DATABASES;并按Enter键.这将显示项目中当前数据库的列表.您可以在任何时候想要在当前项目中查看数据库列表时输入此项.
  2. 键入CREATE DATABASE sample_db;并按Enter键.你应该得到一个Query OK, 1 Row affected.意味着查询成功.您可以根据自己的喜好命名数据库,但是对于这个小小的演练,我将其命名为sample_db.
  3. 键入USE sample_db;并按Enter键.这sample_db将从数据库列表中进行选择.
  4. 键入CREATE TABLE users (id INT(11), username VARCHAR(20));,然后按Enter.这将创建一个以users两列命名的表:idusername.括号中的数字表示列将存储在数据库中的字符限制.例如,在这种情况下,username不会包含长度超过20个字符的字符串.
  5. 键入INSERT INTO users (id, username) VALUES (1, "graham12");,然后按Enter.这将在表中添加id 1和用户名graham12.由于id列是一个INT,我们不会在它周围加上引号.
  6. 键入SELECT * FROM users;,然后按Enter.这将显示users表格中的所有内容.那里唯一的条目应该是我们刚从最后一步插入的内容.

第3步:获取从PHP连接到数据库所需的凭据.(在终端)

现在我们在表中有一些数据可以测试我们的mysqli连接.但首先,我们必须获得在PHP中连接到数据库所需的凭据.在Cloud 9中,我们需要5个凭据才能连接:

  1. 主机名
  2. 用户名
  3. 密码
  4. 数据库名称
  5. 港口 #

用户名,密码,数据库名称和端口号,现在几乎已为您所知.我会解释一下:

  1. 主机名 - SHOW VARIABLES WHERE Variable_name = 'hostname';输入,然后按Enter键.你会得到一个有2列的表:Variable_nameValue.在Value列中,您应该看到类似的内容yourUsername-yourProjectName-XXXXXXX,其中X的是7位数字.将此数字写下来或将其保存在某处.这是您的主机名.(如果您在本演练中获得快速简介,只需启动一个新终端并启动您的mysql并选择您要使用的数据库,然后键入SHOW VARIABLES WHERE Variable_name = 'hostname';.如果您感到困惑,请从头开始重新阅读此步骤. )
  2. 用户名 - 您用于登录Cloud 9的用户名.
  3. 密码 - Cloud 9中的数据库没有密码.
  4. 数据库名称 - 这将是sample_db您为数据库命名的任何内容;
  5. 港口# - 是3306.在Cloud 9中,您的所有项目都连接到了3306.这是Cloud 9的通用常量.它不会是其他任何东西.把它写成整数,而不是字符串.mysqli_connect()将端口#解释为long数据类型.

最后一步:使用PHP连接数据库!(使用PHP)

打开一个PHP文件,并根据自己的喜好命名.

我假装我的主机名是graham12-sample_db-1234567针对这个例子的,这就是我的数据:

  • 主机名:"graham12-sample_db-1234567"
  • 用户名:"graham12"
  • 密码:""
  • 数据库名称:"sample_db"
  • 港口#:3306

所以在PHP中,相应地插入您的凭据:

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

?>
Run Code Online (Sandbox Code Playgroud)

如果您得到结果并且没有错误,那么您已成功设置数据库并使用Cloud 9中的PHP形成了与它的连接.您现在应该可以进行通常可以进行的所有查询.

注意:为了简单起见,我演示了最后一部分而不使用参数化查询.在使用真实Web应用程序时,应始终使用参数化查询.您可以在此处获得更多信息:MySQLi准备好的声明.