PHP& MySQLi:'返回$ mysqli_object'不会返回任何内容

时间:2014-09-11 20:00:34

标签: php mysqli

大家好!

我有一个MySQLi的奇怪错误,我使用的是一个connect()函数(据说)返回一个mysqli对象,但它似乎没有返回任何东西。

这是我的功能:

    function Connect() {
        global $dbg;
        if( $dbg === false ) {
            echo("test 1");
            $dbg = new mysqli ("localhost", "root", "", "erp");
            if ($dbg->connect_errno) {
                echo "( " . $dbg->connect_errno . ") " . $dbg->connect_error;
            }
            echo("test 2");
        }
    return $dbg;
    echo("test 3");
    }

此打印到屏幕"测试1"和"测试2",但不是"测试3"。
似乎php卡在那里,因为包含一个包含此后所有图形设置的文件,并且图形不会打印到屏幕上。

有趣的事情:

    function Connect() {
        global $dbg;
        if( $dbg === false ) {
            $dbg = new mysqli ("localhost", "root", "", "erp");
            if ($dbg->connect_errno) {
                echo "( " . $dbg->connect_errno . ") " . $dbg->connect_error;
            }
        }
    $st = $dbg->prepare('INSERT INTO testtable(ID) VALUES (1)');
    $st->execute();
    return $dbg;
    }

这个工作。插入已完成 所以我想这会返回$ dbg;是什么让所有人下地狱,但我不知道问题来自我的Web服务器。

这一切都在Wamp上没有本地故障,但在部署到Web服务器时不再有效。 唯一想到的是php 4.something安装在网络服务器上,而我的wamp正在使用php5。它能来自那里吗?

感谢您阅读!

2 个答案:

答案 0 :(得分:1)

如果你想在回归之前看到回声

echo("test 3");
return $dbg;

否则代码将无法执行。

至于让mysqli在您的服务器上运行,您需要确保您的PHP是第5版或更高版本。

答案 1 :(得分:0)

抱歉,我的不好,测试是在返回之前用回声完成的,在论坛上自己添加了代码

而且,Mike W,就像它需要php5一样,我仍然成功插入。你可以用单一测试做什么,你觉得不是很棒吗?事实上,自MySQL 4.1.3以来建议MySQLi,你只需要检查/修改你的php.ini文件

再次抱歉打扰了你们,发现了我的问题:

  • 因为它得到了愚蠢,我使用了register_globals = 0的全局变量,所以它无法工作。
  • 然后我又出现了另一个错误,因为我现在还没有提供mysqlnd驱动程序

再次感谢 诚然,
Zawarudio