1

I'm tried to get results from Mysql 3 tables using sql join query. It's showing me error message when I'm running it. Like :

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in 
D:\software installed\xampp\htdocs\contact-management\getContactDetails.php on line 15

Well, I've 3 table. 1) company 2) contact_details 3) users.

Column on company Table (3):

cid, company_name, created_date

Column on contact_details Table (10):

cdid, family_name, given_name, work_phone, mobile_phone, email, email_private, 
user_id, cid, created_date.

Column on users Table ():

user_id, username, nickname

So what Im trying to do is.....I want to get all contact_details table info with company name, username and nickname from company and users table. So It's should only show one set of result.

So that My sql join query is look like this :

$id  = (int) $_POST['id']; // this is based id which coming from contact_details (cdid)

$innerjoing =  mysql_query("SELECT contact_details.*, company.company_name,   
users.nickname
FROM users
INNER JOIN (contact_details INNER JOIN company ON contact_details.cid =   
company.$id)
ON users.user_id = contact_details.user_id");

But bad luck I'm not getting what i want.

Shibbir
  • 257
  • 4
  • 24
  • will you share your php code where you wrote mysql_fetch_array($innerjoing);? There may be an issue with variable name that you have passed to the function.. – Shaunak Shukla Jun 30 '14 at 10:32

4 Answers4

2

First of all, there is an error with your code at contact_details INNER JOIN company ON contact_details.cid = company.$id company.$id is wrong syntax for query.

Rajavel D 's query is correct as per your requirement.

You can also try :

$innerjoing =  mysql_query("SELECT contact_details . * , company.company_name, users.nickname
    FROM contact_details
    LEFT JOIN users ON users.user_id = contact_details.user_id
    LEFT JOIN company ON company.cid = contact_details.cid
    WHERE contact_details.cdid = ".$id)

If still you're not getting, Please check your variable what you've passed to the function. It should be mysql_fetch_array($innerjoing);

Refer this as well

Community
  • 1
  • 1
Shaunak Shukla
  • 2,347
  • 2
  • 18
  • 29
0

The way you have give the $id is wrong and query as well :

Try This :

("SELECT cd.*, c.company_name, u.nickname, u.username  
  FROM contact_details cd INNER JOIN user u 
       ON cd.user_id = u.user_id
          INNER JOIN company c on cd.cid=c.cid 
              where cd.cdid = " . $id )
R D
  • 1,330
  • 13
  • 30
0

Try this:

 $innerjoing =  mysql_query("
 SELECT cd.*, c.company_name, u.nickname
 FROM contact_details cd
 INNER JOIN user u on cd.user_id = u.user_id
 INNER JOIN company c on cd.cid = c.cid
 where c.cid = " + $id);
Jay Kazama
  • 3,167
  • 2
  • 19
  • 25
0
select cd.*,company_name,username,nickname 
from 
    contact_details as cd 
left join 
    company as c
on 
    cd.cid = c.cid
left join 
    users as u
on 
    cd.user_id = u.user_id `
Cerbrus
  • 70,800
  • 18
  • 132
  • 147
StackCoder
  • 87
  • 1
  • 11