繁体   English   中英

在SQL中以下查询有什么问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM