好的,所以上面的答案都没有对我有用,但幸运的是我能够设置一个数据库并以我自己的方式启动并运行它,我现在可以进行查询并成功运行它们,所以我将与你分享我的方法希望任何在互联网上搜索的人都能偶然发现这一点,而不必像我一样挠头。
如果您想要快速了解,只需滚动到第 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 的人详细解释一下。
- 键入
SHOW DATABASES;
并按 Enter。这将显示项目中当前数据库的列表。您可以在想要查看当前项目中的数据库列表的任何时候输入。
- 输入
CREATE DATABASE sample_db;
并按 Enter。你应该得到一个Query OK, 1 Row affected.
,这意味着查询成功。您可以随意命名数据库,但对于这个小演练,我将其命名为sample_db
.
- 输入
USE sample_db;
并按 Enter。这sample_db
从数据库列表中选择。
- 输入
CREATE TABLE users (id INT(11), username VARCHAR(20));
,然后按 Enter。这将创建一个以users
两列命名的表:id
和username
。括号中的数字表示该列将存储在数据库中的字符限制。例如,在这种情况下,username
不会保存长度超过 20 个字符的字符串。
- 输入
INSERT INTO users (id, username) VALUES (1, "graham12");
,然后按 Enter。这将在表中添加 id1
和用户名graham12
。由于该id
列是一个INT
,我们不会在它周围加上引号。
- 输入
SELECT * FROM users;
,然后按 Enter。这将显示users
表中的所有内容。那里唯一的条目应该是我们从刚刚执行的最后一步中插入的内容。
第 3 步:获取从 PHP 连接到数据库所需的凭据。(在终端)
现在我们的表中有一些数据,我们可以测试我们的mysqli
连接。但首先,我们必须获得连接到 PHP 数据库所需的凭据。在 Cloud 9 中,我们需要 5 个凭据来连接:
- 主机名
- 用户名
- 密码
- 数据库名称
- 港口 #
用户名、密码、数据库名称和端口号,现在您实际上已经知道了。我会解释:
- 主机名-
SHOW VARIABLES WHERE Variable_name = 'hostname';
输入 ,然后按 Enter。您将获得一个包含 2 列的表:Variable_name
和Value
. 在Value
列中,您应该会看到类似的内容yourUsername-yourProjectName-XXXXXXX
,其中X
's 是 7 位数字。写下这个数字或将它保存在某个地方。这是您的主机名。(如果您正在快速了解本演练,只需启动一个新终端并启动您的 mysql 并选择您要使用的数据库,然后输入SHOW VARIABLES WHERE Variable_name = 'hostname';
。如果您感到困惑,请从头重新阅读此步骤。 )
- 用户名 - 您用于登录 Cloud 9 的用户名。
- 密码- Cloud 9 中的数据库没有密码。
- 数据库名称- 这将是
sample_db
或您命名数据库的任何名称;
- 端口号- 是
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'];
}
?>
如果你得到一个结果并且没有错误,那么你已经成功地设置了一个数据库并在 Cloud 9 中与 PHP 建立了一个连接。你现在应该能够进行所有可以正常进行的查询。
注意:为了简单起见,我在没有使用参数化查询的情况下演示了最后一部分。在使用真正的 Web 应用程序时,您应该始终使用参数化查询。你可以在这里获得更多信息:MySQLi Prepared Statements。