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です。私も使った、または死ぬ機能は何も起こらない

警告:mysqli :: mysqli():php_network_getaddresses:getaddrinfo failed:5行目の/opt/lampp/htdocs/mysite/myFunc.phpで名前またはサービスが不明です

警告:mysqli :: mysqli():( HY000 / 2002):php_network_getaddresses:getaddrinfo failed:5行目の/opt/lampp/htdocs/mysite/myFunc.phpで名前またはサービスが不明です

いつものように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 に答える