Php Cloud 9 IDE无法连接到数据库

Php Cloud 9 IDE无法连接到数据库,php,mysql,sockets,cloud9-ide,Php,Mysql,Sockets,Cloud9 Ide,我已经尝试了很多方法来连接cloud 9中的数据库,但我总是遇到类似的错误 这是我的PHP代码: <?php // Create connection $con=mysqli_connect($IP, "$C9_USER", "", "c9"); //(host,username,password,dbname)<- guide for me // Check connection if (mysqli_connect_errno()) {

我已经尝试了很多方法来连接cloud 9中的数据库,但我总是遇到类似的错误

这是我的PHP代码:

<?php
    // Create connection
    $con=mysqli_connect($IP, "$C9_USER", "", "c9");

    //(host,username,password,dbname)<- guide for me

    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
?>
我从w3schools获取了基本代码,并将其与解释cloud 9的mysql数据库工作原理的文档一起使用:

但我似乎无法连接而不出现以下错误:

无法连接到MySQL:无法通过套接字“/var/lib/MySQL/MySQL.sock”2连接到本地MySQL服务器

所以我想知道是否有其他方法可以将套接字更改为cloud 9推荐的地址:注意:MySQL套接字文件可以在~/lib/MySQL/socket/MySQL.sock中找到

使用Cloud 9 IDE时,未定义中提到的php变量$ID和$C9_USER

为了检索这些变量以便在代码中使用,必须使用cloud 9 ide终端,方法是按ALT+T并输入: echo$ID echo$C9_用户

然后将这些值放入php代码中的变量中,如下所示:

<?php
    // Create connection
    $IP = "value from terminal";
    $C9_USER = "value from terminal";
    $con=mysqli_connect($IP, $C9_USER, "", "c9");

    //mysqli_connect(host,username,password,dbname); << guideline

    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
?>
旁注:在运行mysql代码时,请确保数据库已打开。您可以通过在终端中键入mysql ctl start来打开它。

归功于

使用Cloud 9 IDE时,未定义中提到的php变量$ID和$C9_USER

为了检索这些变量以便在代码中使用,必须使用cloud 9 ide终端,方法是按ALT+T并输入: echo$ID echo$C9_用户

然后将这些值放入php代码中的变量中,如下所示:

<?php
    // Create connection
    $IP = "value from terminal";
    $C9_USER = "value from terminal";
    $con=mysqli_connect($IP, $C9_USER, "", "c9");

    //mysqli_connect(host,username,password,dbname); << guideline

    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
?>

旁注:在运行mysql代码时,请确保数据库已打开。您可以通过在终端中键入mysql ctl start来打开它。

似乎您遗漏了什么。用户名和数据库名称正确吗?您是使用localhost还是127.0.0.1作为IP?它说cloud 9文档上的主机名是:与您在Cloud9$IP上运行的应用程序相同的本地IP,这就是我使用的。我刚尝试了你的建议,但也失败了。你启动数据库了吗?您是否检查了$IP中的值,我认为您需要替换它是的,看起来有点混乱确保您已使用mysql ctl start启动服务,还可以尝试mysqli_connect$IP.:/lib/mysql/socket/mysql.sock',$C9_USER。。。另外,在一些地方也检查一下,上面说没有免费的mysql账户。。也许你应该联系支持人员,说你根本不懂,其他人也不懂,让他们举个例子。当你知道如何连接时需要30秒。抱怨这些托管IDE 99%的时间都处于测试阶段,祝你好运。查看c9.io/site/blog/2013/05/mysql-for-every-workspace上的评论,似乎有一些解决方案涉及到获取服务器的实际IP和提供的实际用户名,这些只是环境变量。如果没有在终端中运行代码,则需要获取实际的代码,因此打开terminalalt+t,然后键入:echo$IP,然后输入echo$C9_users,看起来您缺少了一些东西。用户名和数据库名称正确吗?您是使用localhost还是127.0.0.1作为IP?它说cloud 9文档上的主机名是:与您在Cloud9$IP上运行的应用程序相同的本地IP,这就是我使用的。我刚尝试了你的建议,但也失败了。你启动数据库了吗?您是否检查了$IP中的值,我认为您需要替换它是的,看起来有点混乱确保您已使用mysql ctl start启动服务,还可以尝试mysqli_connect$IP.:/lib/mysql/socket/mysql.sock',$C9_USER。。。另外,在一些地方也检查一下,上面说没有免费的mysql账户。。也许你应该联系支持人员,说你根本不懂,其他人也不懂,让他们举个例子。当你知道如何连接时需要30秒。抱怨这些托管IDE 99%的时间都处于测试阶段,祝你好运。查看c9.io/site/blog/2013/05/mysql-for-every-workspace上的评论,似乎有一些解决方案涉及到获取服务器的实际IP和提供的实际用户名,这些只是环境变量。如果没有在终端中运行代码,则需要获取实际的代码,因此打开terminalalt+t,然后键入:echo$IP,然后输入echo$C9_USER+1,同时您正在编写我编写的代码;pDo你是说$ID还是$IP?您的代码使用IP,但您需要回显ID$C9_USER=getenv'C9_USER'+1,当你写作的时候,我写了;pDo你是说$ID还是$IP?您的代码使用IP,但您需要回显ID$C9_USER=getenv'C9_USER';