首页 > 解决方案 > 如何使用 Laravel 返回 mysql 错误?

问题描述

我必须在 laravel 中移植一个网站,所以在我的旧项目中我称之为这个查询:

$username=mysqli_real_escape_string($conn,$_SESSION['username']);
    $nome=mysqli_real_escape_string($conn,$_POST['titolo']);
    $query="insert into iscrizioni values('$username','$nome');";
    $res=mysqli_query($conn,$query) or die(mysqli_error($conn));
    if($res===TRUE){
        echo 1;
    }else{
        echo mysqli_error($conn);
    }

但现在在我的控制器中:

public function iscrizione(){
            $data=request();
            $titolo=$data['titolo'];
            $user=session('user_id');
            $newIscrizione=Iscrizione::create([
                'user'=>$user,
                'corso'=>$titolo,
            ]);
            if($newIscrizione){
                return 1;
            }else{
                return 
            }
        }

我在我的数据库中创建了一些触发器,每个触发器都有一个特定的 sqlstate_message,所以我需要在我的 js 文件中返回它。我怎样才能做到这一点?

标签: phpmysqllaravel

解决方案


您可以使用 try catch 异常处理

 try{
       $newIscrizione=Iscrizione::create([
                'user'=>$user,
                'corso'=>$titolo,
            ]);
    }catch (\Illuminate\Database\QueryException $exception){

        dd($exception->getMessage());
    }

推荐阅读