php - 如何使用 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 文件中返回它。我怎样才能做到这一点?
解决方案
您可以使用 try catch 异常处理
try{
$newIscrizione=Iscrizione::create([
'user'=>$user,
'corso'=>$titolo,
]);
}catch (\Illuminate\Database\QueryException $exception){
dd($exception->getMessage());
}
推荐阅读
- python - 对索引熊猫系列进行排序时出错
- java - Java - 我怎样才能完全清除一个变量
- sql - SQL 获取事件日期的最后 7 天
- python - 如何检测图像中的一种颜色?
- linux - 被动地将共享对象注入特定的可执行文件
- android-studio - Intel HAXM 无法在 AMD 上运行,我已关闭 Hyper-V
- r - 根据 R 中的许多条件和组对数据进行子集化并对其进行汇总
- reactjs - 如何在没有无限渲染循环的情况下为调用 setter 函数的子项使用带有数组状态的 useState 钩子?
- google-apps-script - 使用 Google Apps 脚本配置 OAuth
- c++ - C++ 文件处理:显示文件中总字节数和对象数的垃圾值