如何在 laravel 函数中添加 php 变量


How to Add php variable in laravel function

$username='Vasim';
$results = DB::select(
    'Select r.LocationId ,LM.Name+'-'+LM.LocationCode as LocationName
        from User_Master u(nolock), UserRoleLoc_link r(nolock)
        left join Location_Master LM(nolock)
        on r.LocationId = LM.LocationId
        Where r.UserId = u.UserId
        AND u.UserName = '$username' AND LM.Status = 1 AND
        (IsNull(NullIf('',''),'1')='1' Or r.LocationId = '') 
        AND LM.isLocationOnline = 1
        Group by r.UserId, u.UserName, 
            r.LocationId,u.Password,LM.Name,LM.LocationCode
        having COUNT(r.UserId) > 0
        Order By Count(r.UserId) DESC');
错误

:语法错误,意外的"$username"(T_VARIABLE)

如何在此查询中使用我的变量

使用双引号""而不是单引号''编写查询。

$results = DB::select("SELECT r.LocationId ,LM.Name+'-'+LM.LocationCode as LocationName From User_Master u(nolock), UserRoleLoc_link r(nolock) 
    LEFT JOIN Location_Master LM(nolock) on r.LocationId = LM.LocationId 
    WHERE r.UserId = u.UserId AND u.UserName = '$username' 
    AND LM.Status = 1 AND (IsNull(NullIf('',''),'1')='1' Or r.LocationId = '') 
    AND LM.isLocationOnline = 1 GROUP BY r.UserId, u.UserName, r.LocationId,u.Password,LM.Name,LM.LocationCode HAVING COUNT(r.UserId) > 0 
    ORDER BY Count(r.UserId) DESC");

PHP 在双引号中执行变量,而不是在单引号中执行变量。

$username = 'vasim';
echo '$username';  // $username
echo "$username";  // vasim

希望对您有所帮助:-)

使用数据库查询,如下所示:

   $username='Vasim';
   $results = DB::select("Select r.LocationId ,LM.Name+'-'+LM.LocationCode as LocationName from User_Master u(nolock), UserRoleLoc_link r(nolock) left join Location_Master LM(nolock) 
                on r.LocationId = LM.LocationId
                Where r.UserId = u.UserId
                AND u.UserName = '".$username."'  AND LM.Status = 1 AND
                (IsNull(NullIf('',''),'1')='1' Or r.LocationId = '') AND LM.isLocationOnline = 1
                Group by r.UserId, u.UserName, r.LocationId,u.Password,LM.Name,LM.LocationCode
                having COUNT(r.UserId) > 0
                Order By Count(r.UserId) DESC");

请检查查询中的双引号字符串和连接更改。