[英]What is wrong in following query in sql
SELECT jobs.id,jobs.title, jobs.budget, jobs.views_count, jobs.is_active, count(job_applications.id) as count
FROM jobs
LEFT JOIN job_applications ON job_applications.job_id = jobs.id WHERE jobs.user_id ='.$id.'' AND jobs.title=''.$title.' group by jobs.id
该查询给出错误:
语法错误,意外的'=',期望为','或';'
问题出在PHP,而不是SQL。
您搞砸了单引号。
更新的查询:
$sql = "SELECT jobs.id,jobs.title, jobs.budget, jobs.views_count, jobs.is_active, count(job_applications.id) as count
FROM jobs
LEFT JOIN job_applications ON job_applications.job_id = jobs.id WHERE jobs.user_id ='$id' AND jobs.title='$title' group by jobs.id";
这样尝试
$your_query = "SELECT jobs.id,jobs.title, jobs.budget, jobs.views_count, jobs.is_active, count(job_applications.id) as count FROM jobs
LEFT JOIN job_applications ON job_applications.job_id = jobs.id WHERE jobs.user_id =".$id." AND jobs.title='".$title."' group by jobs.id";
注意报价。 这是固定的查询,没有重复使用引号:
$query = 'SELECT
jobs.id,
jobs.title,
jobs.budget,
jobs.views_count,
jobs.is_active,
count(job_applications.id) as count
FROM jobs
LEFT JOIN job_applications ON job_applications.job_id = jobs.id
WHERE
jobs.user_id ='.$id.'
AND jobs.title='.$title.'
group by jobs.id';
如果$title
与字符串有关,请使用@daiscog指出的以下内容:
$query = 'SELECT
jobs.id,
jobs.title,
jobs.budget,
jobs.views_count,
jobs.is_active,
count(job_applications.id) as count
FROM jobs
LEFT JOIN job_applications ON job_applications.job_id = jobs.id
WHERE
jobs.user_id ='.$id.'
AND jobs.title=\''.$title.'\'
group by jobs.id';
改变这个
jobs.user_id ='.$id.'' AND jobs.title=''.$title.'
至
jobs.user_id ='.$id.' AND jobs.title='.$title.'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.