簡體   English   中英

內部聯接查詢中的where子句

[英]where clause in inner join query

請幫助我有關此查詢:

function viewServices($userpno)
{
    echo $userpno;

    $this->query = "
SELECT task.employee_id , task.user_id , task.service_id, service.name AS servicename ,
       service.description AS servicedescription, employee.name AS employeename, employee.pic_path AS employeepicture,
       employee.pic_path 
FROM task where task.user_id = '$userpno' 
INNER JOIN employee ON employee.pno = task.employee_id
INNER JOIN user ON user.pno = task.user_id
INNER JOIN service ON service.service_id = task.service_id
";
}

該查詢可以完美地運行而無需:

WHERE task.user_id = '$userpno'

我也嘗試過這種方式:

WHERE task.user_id = $userpno

但這是行不通的。

錯誤是:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\admin\classes\Task.php on line 22

請問我如何放置WHERE子句。

WHERE子句在查詢末尾

SELECT task.employee_id , task.user_id , task.service_id, service.name AS servicename ,service.description AS servicedescription, employee.name AS employeename, employee.pic_path AS employeepicture,employee.pic_path
FROM task
INNER JOIN employee  ON employee.pno = task.employee_id 
INNER JOIN user  ON user.pno = task.user_id
INNER JOIN service  ON service.service_id = task.service_id 
where task.user_id = '$userpno'

查詢結構為:SELECT,FROM(在此處聯接),WHERE

你太早了

$this->query = 
   "SELECT task.employee_id , task.user_id , task.service_id, service.name AS servicename ,service.description AS servicedescription, employee.name AS employeename, employee.pic_path AS employeepicture,employee.pic_path 
    FROM task INNER JOIN employee  ON employee.pno = task.employee_id  INNER JOIN user  ON user.pno = task.user_id INNER JOIN service  ON service.service_id = task.service_id 
    WHERE task.user_id = '$userpno'";

正確運行的查詢將返回資源,失敗的查詢將返回false

您的WHERE子句后面有JOIN子句。 那是無效的,因此您的查詢由於失敗而返回false

作為參考,SELECT查詢的某些部分必須采用以下文檔中概述的順序/格式: http : //dev.mysql.com/doc/refman/5.0/en/select.html

嘗試:

$this->query = "SELECT task.employee_id , task.user_id , task.service_id,
service.name AS servicename ,service.description AS servicedescription, 
employee.name AS employeename, employee.pic_path AS employeepicture,employee.pic_path
FROM task 
INNER JOIN employee  ON employee.pno = task.employee_id  
INNER JOIN user  ON user.pno = task.user_id 
INNER JOIN service  ON service.service_id = task.service_id 
where task.user_id = '$userpno'";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM