大家好!
我有一个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。它能来自那里吗?
感谢您阅读!
答案 0 :(得分:1)
如果你想在回归之前看到回声
echo("test 3");
return $dbg;
否则代码将无法执行。
至于让mysqli
在您的服务器上运行,您需要确保您的PHP是第5版或更高版本。
答案 1 :(得分:0)
抱歉,我的不好,测试是在返回之前用回声完成的,在论坛上自己添加了代码
而且,Mike W,就像它需要php5一样,我仍然成功插入。你可以用单一测试做什么,你觉得不是很棒吗?事实上,自MySQL 4.1.3以来建议MySQLi,你只需要检查/修改你的php.ini文件
再次抱歉打扰了你们,发现了我的问题:
再次感谢
诚然,
Zawarudio