繁体   English   中英

为什么我得到一个空白对象,即使它存在于数据库pdo中?

[英]Why am I getting a blank object, even if it exists in the database pdo?

尽管search element存在于database ,但我却得到一个空白obj

这是我正在尝试的

   $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

请帮我。

在查询中,您使用一种奇怪的方法:

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运算子的语法有误

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);

注意: %表示任何字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM