【发布时间】:2018-03-17 22:02:10
【问题描述】:
我正在尝试在我的数据库中进行搜索,它会根据确切的姓氏和名字以及在输入框中输入的名字的首字母返回结果。例如,如果用户输入Simon Burns,它将返回所有用户,名字的初始S 和姓氏的Burns。这是我的代码。
很抱歉,如果之前已经讨论过这个问题,但我找不到一个有效的简单答案。
$firstname = filter_input(INPUT_POST, 'firstname', FILTER_SANITIZE_STRING);
$surname = filter_input(INPUT_POST, 'surname', FILTER_SANITIZE_STRING);
$prep_query = "SELECT id, firstname, surname, profilepic, Gender, StartYear, EndYear, CircaStart, CircaEnd, JnrHouse, SnrHouse
FROM people WHERE firstname LIKE ? AND surname = ?";
$namecheckresult = $connection->prepare($prep_query);
// Return all matches wether registered on not
if ($namecheckresult)
{
$initial = $firstname[0];
$namecheckresult->bind_param( 'ss', $initial . '%', $surname);
$namecheckresult->execute();
$namecheckresult->store_result();
$namecheckresult->bind_result($id, $first, $last, $ProfilePic, $Gender, $StartYear, $EndYear, $CircaStart, $CircaEnd, $JnrHouse, $SnrHouse);
【问题讨论】:
-
呃,有没有返回 PHP 或 MySQL 的错误代码?
-
( ! ) 致命错误:无法通过引用传递参数 2
-
来自manual:“将变量作为参数绑定到准备好的语句”(强调我的)。让我看看能不能找到合适的副本。