You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel查询数据库出现SQL语法错误(1064)求助

问题解决:SQL语法错误(1064)

报错根源

你SQL语句里的to和from是MariaDB的保留关键字,直接当作字段名使用会触发语法校验失败。

修复代码

把保留关键字字段用反引号(`)包裹,修改后的控制器代码如下:

public function TransactionDetails ($merchant_id){
    $client_data = DB::select('SELECT merchant_name,`to`,amount,`from`,date,status,provider from api_transactions where `to`=?', [$merchant_id]);
    return response()->json($client_data);
}

额外优化建议

  • 尽量别用数据库保留关键字做字段名,从根源避免这类问题。
  • 用Laravel查询构造器的话,框架会自动处理保留关键字,代码更简洁:
public function TransactionDetails ($merchant_id){
    $client_data = DB::table('api_transactions')
                    ->select('merchant_name', 'to', 'amount', 'from', 'date', 'status', 'provider')
                    ->where('to', $merchant_id)
                    ->get();
    return response()->json($client_data);
}

内容的提问来源于stack exchange,提问作者Nosi Ishmael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:49:54