Php 如何检查数据库中是否存在记录
我在想,如何检查我的记录是否存在并运行原始SQL查询。我尝试使用is_null函数,但它对我不起作用。因此,当我尝试选择错误的值并点击提交按钮时,它会在浏览器中返回“Success”纯文本Php 如何检查数据库中是否存在记录,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我在想,如何检查我的记录是否存在并运行原始SQL查询。我尝试使用is_null函数,但它对我不起作用。因此,当我尝试选择错误的值并点击提交按钮时,它会在浏览器中返回“Success”纯文本 public function readEmployeeRecords() { $users = DB::select('select * from users where username = ?', [1]); if(is_null($users)) { retu
public function readEmployeeRecords()
{
$users = DB::select('select * from users where username = ?', [1]);
if(is_null($users))
{
return ('Failed');
}
else
{
return('Success');
}
}
形式
试用
如果为空$users | |$users={使用选择存在您的子查询:
我最初的答案是使用COUNT*,这在逻辑上应该是有效的。但是,我怀疑th0at始终会返回一条记录,而不管实际的计数是多少。表示select方法将始终返回一个结果数组。因此,您可以使用COUNT查看数组中是否有任何结果:
public function readEmployeeRecords()
{
$users = DB::select('select * from users where username = ?', [1]);
if ( ! count($users)) {
return ('Failed');
}
return ('Success');
}
is_null检查变量是否为null。空数组不等于null您可以使用var_dump$users查看返回的内容并对照它进行检查。有什么理由不像first一样使用ORM Build it选项吗?它仍然打印else条件bro。@Francisunox如果您不认识我,请不要bro我:-…现在正在为您进行更新。感谢您的时间。但它仍然会返回成功消息。我相信我向您提供的查询将按预期进行。您确定您的数据正确吗?我也相信您的答案。是的,我确定提供的数据正确。我没有在您的else条件下返回成功消息,而是将其更改为var_dump$users,并向我提供输出数组1{[0]=>objectstdClass172 1{[EXISTSSELECT*FROM users WHERE username=?]=>int0}}我想它在我的数据库中找不到正确的值。我尝试了这个方法,但返回了一条成功消息。@Francisunox你能给var_dump$users变量并告诉我它打印了什么吗?我把var_dump$users放入!count方法中,并给我输出数组0{}在我选择的任何值中。@francisunox在if语句之前调用它,它打印我的数组0{}失败,这是否意味着它在我的数据库中找不到值?
public function readEmployeeRecords()
{
$users = DB::select('SELECT EXISTS(SELECT * FROM users WHERE username = ?)', [1]);
if (!$users[0]) {
return ('Failed');
}
else {
return('Success');
}
}
public function readEmployeeRecords()
{
$users = DB::select('select * from users where username = ?', [1]);
if ( ! count($users)) {
return ('Failed');
}
return ('Success');
}