尽管搜索元素存在于数据库pdo中
问题描述:
我越来越空白obj
尽管search
element
存在于database
中,尽管搜索元素存在于数据库pdo中
这里就是我想要
$userInput = 'john';
$db = getDB();
$sql = "SELECT user_id, email, token FROM users WHERE name LIKE name=:input";
$stmt = $db->prepare($sql);
$stmt->bindParam("input", $userInput,PDO::PARAM_STR);
$stmt->execute();
$usernameDetails = $stmt->fetch(PDO::FETCH_OBJ);
print_r($usernameDetails);
我没有得到任何形式的error
也
请帮我在此先感谢!
答
你有错误的语法为LIKE
运营商
name LIKE name=:input";
你需要改变这
$query = $db->prepare('SELECT user_id, email, token FROM users WHERE name LIKE :input');
$query->bindParam("input", "%$userInput%", PDO::PARAM_STR);
注:%
指任何字符。
答
在查询中使用一个奇怪的做法:
WHERE name LIKE name=:input
name
像什么?
你要么使用
SELECT user_id, email, token FROM users WHERE name=:input
或
SELECT user_id, email, token FROM users WHERE name LIKE :input
在LIKE
我想你需要添加%
情况下,否则LIKE
成为=
:
// previous code here
$stmt = $db->prepare($sql);
$stmt->bindParam("input", '%' . $userInput . '%' ,PDO::PARAM_STR);
// more code here
所以,你需要'LIKE'还是需要'='? –
我决定我想'LIKE' – EaB
然后删除'='。你知道正确的'LIKE'格式,不是吗? –