PHP bind_param错误

时间:2011-07-14 15:51:22

标签: php mysqli

当我启动脚本时出现此错误:

  

致命错误:在第16行的/Applications/XAMPP/xamppfiles/htdocs/Jil/login_skript.php中调用非对象的成员函数bind_param()

这是脚本:

$sql = "SELECT ID, vorname, nachname, username, email, passwort, profilBild, geschlecht, alter, wohnort, ueberSich FROM benutzer WHERE username LIKE '?' LIMIT 1;";
$stmt = $db->prepare($sql);
$stmt->bind_param("s", $username);

2 个答案:

答案 0 :(得分:2)

问题是'alter'是一个MySQL关键字。将所有字段名称(或至少只是'alter')括在反引号中以解决此问题。

另外,不要在准备好的声明中加上'?'的引号。它们将为您添加。

$sql = "SELECT `ID`, `vorname`, `nachname`, `username`, `email`, `passwort`, `profilBild`, `geschlecht`, `alter`, `wohnort`, `ueberSich` FROM `benutzer` WHERE `username` LIKE ? LIMIT 1;";
$stmt = $db->prepare($sql);
$stmt->bind_param("s", $username);

答案 1 :(得分:1)

这是因为您的select语句无效且prepare返回NULL。您不需要'周围的?。您可以通过调用$db->error

查看其他错误