1

How can I make something like this (add something to a SELECT command):

 $query = "SELECT a.name,a.surname,b.email,c.phone 
           FROM users as a 
           inner join users_email as b 
           inner join users_phone as c
           WHERE a.id=b.id AND a.id=c.id";

 $query .= "ORDER BY a.surname";  

 $result = mysql_query($query,$con);

The result should be:

$query = "SELECT a.name,a.surname,b.email,c.phone 
          FROM users as a 
          inner join users_email as b 
          inner join users_phone as c
          WHERE a.id=b.id AND a.id=c.id
          ORDER BY a.name";   

$result = mysql_query($query,$con);
$row=mysql_num_fields($result)

...but it gives an error: mysql_num_fields() expects parameter 1 to be resource, boolean given in C:\xampp-portable\htdocs\db\file.php on line 32...

wwwglro
  • 53
  • 7

5 Answers5

4

Always give a space when you concate your query.

 $query = "SELECT a.name,a.surname,b.email,c.phone 
           FROM users as a 
           inner join users_email as b 
           inner join users_telefon as c
           WHERE a.id=b.id AND a.id=c.id ";

 $query .= " ORDER BY a.prenume";
            ^

Also have a practice of mysql_error().

$result = mysql_query($query,$con) or die(mysql_error());

Note: Please, don't use mysql_* functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO, or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

Zoe
  • 27,060
  • 21
  • 118
  • 148
Rikesh
  • 26,156
  • 14
  • 79
  • 87
2

Add space after

WHERE a.id=b.id AND a.id=c.id";

so it should be:

WHERE a.id=b.id AND a.id=c.id ";
Aleks
  • 4,866
  • 3
  • 38
  • 69
2

try this:

$query = "SELECT a.name,a.surname,b.email,c.phone 
           FROM users as a 
           inner join users_email as b 
           inner join users_telefon as c
           WHERE a.id=b.id AND a.id=c.id";

 $query .= " ORDER BY a.prenume";  

 $result = mysql_query($query,$con);

a 'space' is required before Order By

1
$query = "SELECT a.name,a.surname,b.email,c.phone 
          FROM users as a 
          inner join users_email as b ON a.id=b.id
          inner join users_telefon as c ON a.id=c.id
          ORDER BY a.name";   
gabrielbuzzi
  • 343
  • 1
  • 3
  • 15
0

It shold be

 $query .= " ORDER BY a.prenume order(asc/desc)";

insetad of

 $query .= "ORDER BY a.prenume"; 

and you need to give space before ORDER BY

GautamD31
  • 28,552
  • 10
  • 64
  • 85