SQL 查询以检索完全匹配的记录,带或不带 LIKE
SQL query to retrieve exactly matching record with or without LIKE
休息 API URL,我收到一个如下所示的用户 ID:58988e75c918f5bd5804afd6
。
数据库将用户名存储在名称字段中,格式如下:
58988e75c918f5bd5804afd6 John
.
我当前 SQL 获取此记录的查询是:
$sql = 'SELECT * FROM users WHERE name LIKE :term';
$result = db_query($sql, array(':term' => db_like($userid)));
$existingUser = $result->fetchObject();
对于当前的 SQL 查询,即使我提供了部分用户 ID (58988e75c918f5bd5804),它似乎也获取了 John 行,这不是我希望发生的事情。如何修复查询,使其与包含 John 的用户 ID 完全匹配?
预期结果:用户id不完全匹配,没有检索到记录。
更新:我获取记录,然后进行子字符串替换以更新 Drupal 中的记录 table。
注意:随意修改 sql 查询以获得预期结果,无需使用 LIKE
在您喜欢的字词中使用 space:
Include space in mysql like search
$sql = 'SELECT * FROM users WHERE name LIKE ":term "';
$result = db_query($sql, array(':term' => db_like($userid)));
$existingUser = $result->fetchObject();
最好用 PHP 验证字符串大小,然后执行 mysql 之类的。由于您使用相同的加密方式,因此您将获得相同数量的加密字符。
休息 API URL,我收到一个如下所示的用户 ID:58988e75c918f5bd5804afd6
。
数据库将用户名存储在名称字段中,格式如下:
58988e75c918f5bd5804afd6 John
.
我当前 SQL 获取此记录的查询是:
$sql = 'SELECT * FROM users WHERE name LIKE :term';
$result = db_query($sql, array(':term' => db_like($userid)));
$existingUser = $result->fetchObject();
对于当前的 SQL 查询,即使我提供了部分用户 ID (58988e75c918f5bd5804),它似乎也获取了 John 行,这不是我希望发生的事情。如何修复查询,使其与包含 John 的用户 ID 完全匹配?
预期结果:用户id不完全匹配,没有检索到记录。
更新:我获取记录,然后进行子字符串替换以更新 Drupal 中的记录 table。
注意:随意修改 sql 查询以获得预期结果,无需使用 LIKE
在您喜欢的字词中使用 space: Include space in mysql like search
$sql = 'SELECT * FROM users WHERE name LIKE ":term "';
$result = db_query($sql, array(':term' => db_like($userid)));
$existingUser = $result->fetchObject();
最好用 PHP 验证字符串大小,然后执行 mysql 之类的。由于您使用相同的加密方式,因此您将获得相同数量的加密字符。