6
<?php

function getMysqlConnection($host, $user, $pass, $database) {
    global $mysqli;
    global $Mysqlerror;
    $mysqli = new mysqli('$host', '$user', '$pass', '$database');
    if (empty($mysqli->connect_errorno) == false) {
        $Mysqlerror = "true";
    } else {
        $Mysqlerror = "false";
    }
}

我已经创建了一个如上所述的函数,它在给定的 MySQL 用户凭据上实现连接,我通过使用实现了这个函数

<?php
require 'myFunc.php';
getMysqlConnection("localhost", "wronguser", "wrongpass", " test");
echo $Mysqlerror;

虽然我使用了错误的密码和用户名,但 Mysqlerror 是 false 。我也用过 or die 功能什么都没发生

警告:mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/lampp/htdocs/mysite/myFunc.php on line 5

警告:mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/lampp/htdocs/mysite/myFunc.php on line 5

我像往常一样重新启动了lampp,它显示了

Starting XAMPP for Linux 1.8.0...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
Warning: World-writable config file '/opt/lampp/etc/my.cnf' is ignored
XAMPP: Starting ProFTPD...
/opt/lampp/share/lampp/alladdons: line 23: /opt/lampp/share/addons/: is a directory
XAMPP for Linux started.

我的代码或我的服务器有问题吗?如何解决?

4

2 回答 2

4

问题在于这条线。

$mysqli = new mysqli('$host','$user','$pass','$database');

将其更改为

$mysqli = new mysqli($host,$user,$pass,$database);

在 PHP 中,单引号内的变量不会插入它们的值。

在这里查看 PHP 的变量解析机制

于 2012-09-12T05:21:53.200 回答
0

首先检查您的 mysql..正确提供用户名和密码(您在 mysql 中提供).. w3schools.com 和 tizag.com 中提供了示例数据库连接

于 2012-09-12T05:20:46.323 回答