如何在 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');
Error : syntax error, unexpected '$username' (T_VARIABLE)
如何在此查询中使用我的变量
使用您的数据库查询,如以下字符串:
$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");
请检查那里的查询中的双引号字符串和连接更改。
用双引号""
而不是单引号''
写查询。
$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');
Error : syntax error, unexpected '$username' (T_VARIABLE)
如何在此查询中使用我的变量
使用您的数据库查询,如以下字符串:
$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");
请检查那里的查询中的双引号字符串和连接更改。
用双引号""
而不是单引号''
写查询。
$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
希望对您有所帮助:-)