我必须使用我使用 XAMPP 进行开发的机器。我只是将文件从一台机器移动到另一台机器,现在在调用 mysqli_set_charset 和 bind_param 时出现错误。它在一台机器上工作。
编辑:这是我得到的错误:
PHP 致命错误:在非对象上调用成员函数 bind_param()
我的代码:
$mysqli = new mysqli("localhost", "root", "123", "myDatabase");
mysqli_set_charset($mysqli, "utf8");
//Checks if the user exists
$stmt = $mysqli->prepare("SELECT * FROM profiles WHERE email = ? AND password = md5(?) LIMIT 1");
$stmt -> mysqli_stmt_bind_param("ss", $email, $pass);
$stmt -> execute();
编辑#2:
它工作的机器在 Mac OS 10.8.1 上的 XAMPP 中使用 PHP 5.3.1,还没有更新版本的 XAMPP。
它不工作的机器在 Windows 7 上的 XAMPP 中使用 PHP 5.4.4。
如果我删除说它mysqli_set_charset($mysqli, "utf8");
在两台机器上都可以工作的行,否则,只能在 Mac 上工作。
编辑#3:
我测试更改password = md5(?)
为just password = ?
,然后它就可以工作了。好吧,密码不匹配,但我不再收到错误消息。我以后不会使用 md5,但我现在只想使用它,我需要将 charset 设置为 utf8。我该如何解决?