【问题标题】:Query with id param returns wrong record带有 id 参数的查询返回错误的记录
【发布时间】:2017-02-27 12:32:36
【问题描述】:

当我运行查询以从数据库中检索记录时,我传递了一个 id 参数,但它返回的记录不正确:

用这个查询:

    $idusers = \DB::table('users')
            ->select('users.*')
            ->where('id','=', $id)
            ->get();

我正在传递id = 91TDFS78,结果实际上是用id = 91 记录的。

【问题讨论】:

  • 您的表格和列的名称是否正确?
  • 我以前见过这个。 id 列的类型是什么?
  • 您似乎已将 INT 数据类型用于 'id' 列?
  • 类型是INT
  • 您的id 列是什么数据类型?如果它的INT 可以解释您的问题

标签: php mysql laravel query-builder


【解决方案1】:

谢谢大家,我必须在运行查询之前进行测试

$isdigit = ctype_digit((string)$id);
if($isdigit){
$idusers = \DB::table('users')
            ->select('users.*')
            ->where('id','=', $id)
            ->get();
}

【讨论】:

    猜你喜欢
    • 2022-01-23
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多