$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");
请检查查询中的双引号字符串和连接更改。