gpt4 book ai didi

php - SQLSTATE[23000] : Integrity constraint violation: 1048 Le champ 'url' ne peut être vide (null)

转载 作者:行者123 更新时间:2023-11-29 15:16:40 24 4
gpt4 key购买 nike

我正在学习 Laravel 和 PHP,当我提交空字段时收到此错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'url' ne peut être vide (null) (SQL: insert into urls (url, shortned) values (?, 6kuHSS))

我迷路了,我不明白哪个代码犯了这个错误......

这是我的代码:

Route::post('/', function(){
function make_shortned(){
$shortned = Str::random(6);
if(App\Url::whereShortned($shortned)->first())
{
return make_shortned();
}
else
{
return $shortned;
}
}

$data = ['url' => request('url')];
$validation = Validator::make($data, ['url' => 'required|url']);


$url = App\Url::where('url', request('url'))->first();

if($url) // le short existe déjà en bdd
{
return view('result')->withShortned($url->shortned);
}
else
{
$row = App\Url::create([
'url' => request('url'),
'shortned' => make_shortned()
]);

if($row) // L'entrée a bien été créée
{
return view('result')->withShortned($row->shortned);
}
else
{
echo 'test';
}

}
});

最佳答案

如果您的 url 字段不能为空,那么您需要在验证中检查这一点。您当前正在创建一个验证器实例,但并未实际验证:

Route::post('/', function(Request $request){
function make_shortned() {
$shortned = Str::random(6);
if(App\Url::whereShortned($shortned)->first())
{
return make_shortned();
}
else
{
return $shortned;
}
}

$data = $request->validate([
'url' => 'required|url',
]);


$url = App\Url::where('url', $request->input('url'))->first();

if($url)
{
return view('result')->withShortned($url->shortned);
}
else
{
$row = App\Url::create([
'url' => $request->input('url'),
'shortned' => make_shortned()
]);

if($row) // L'entrée a bien été créée
{
return view('result')->withShortned($row->shortned);
}
else
{
echo 'test';
}

}
});

关于php - SQLSTATE[23000] : Integrity constraint violation: 1048 Le champ 'url' ne peut être vide (null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59659792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com