代码之家  ›  专栏  ›  技术社区  ›  Santiago Troitiño Cristancho

使用php远程连接MYSQL数据库

  •  0
  • Santiago Troitiño Cristancho  · 技术社区  · 7 年前

    我目前正在尝试通过php连接到另一台机器中的数据库,我已经能够使用命令行进行连接,如下所示:

    mysql -u root -p'' -h 192.168.2.2 proyectoti
    

    我能够管理数据库(DDL和DML工作),现在的问题是我需要创建一个简单的网页来与数据库交互(列出并向其中添加元素),网页和DB必须在不同的机器上,下面是我的php:

    <?php
    //Connect To Database
    $hostname='192.168.2.2';
    $username='root';
    $password='';
    $dbname='proyectoti';
    $usertable='prueba';
    $yourfield = 'prueba';
    
    mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
    mysql_select_db($dbname);
    
    $query = 'SELECT * FROM ' . $usertable;
    $result = mysql_query($query);
    if($result) {
        while($row = mysql_fetch_array($result)){
            print $name = $row[$yourfield];
            echo 'Name: ' . $name;
        }
    }
    else {
    print "Database NOT Found ";
    mysql_close($db_handle);
    }
    
    ?>
    

    我的数据库只是为了测试,它只有一个名为“prueba”的表和一个名为“prueba”的字段,这两台机器都运行CentOS 7(虚拟化),能够在它们之间进行通信(ping),带有DB的机器安装了XAMPP,我已经尝试了一个简单的页面来访问我的演示DB中的某些内容(本地),它可以工作,应该有网页的机器安装了httpd并启用了php(已经通过执行phpinfo()对此进行了测试,它可以正常工作)。当我尝试在web浏览器上加载php时,它只显示一个空白页面,我应该怎么做?非常感谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Santiago Troitiño Cristancho    7 年前

    我终于能够使用php进行连接,我做了以下工作:

    1. 在我运行的命令行上: yum install php-mysql 并重新启动httpd服务。 我收到以下错误: Connection failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on (13) ,所以我做了如下工作:
    2. 在我运行的命令行上: setsebool httpd_can_network_connect_db=1 为了让我能够毫无问题地连接到数据库,我在以下页面中使用了PDO示例:

    https://www.w3schools.com/php/php_mysql_connect.asp