2013-03-07 76 views
1

我怎樣才能讓這樣的事情(添加一些SELECT命令):PHP的MySQL添加*到SELECT語句

$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); 

結果應該是:

$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) 

...但它給出了一個錯誤:mysql_num_fields()預計參數1是資源,在布爾C中給出:\ XAMPP便攜\ htdocs中\分貝\ file.php在線路32 ...

+0

當你在你的代碼中使用mysql_query時,爲什麼會說'mysql_num_fields()'? – 2013-03-07 13:14:13

+0

你不應該再使用mysql,試試PDO或Mysqli – 2013-03-07 13:26:59

+0

我的錯誤...我編輯過。 – wwwglro 2013-03-07 13:34:01

回答

4

要給出space當你concate查詢。

$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"; 
      ^

也有一個練習mysql_error()

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

注:Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial。空間後

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

所以

+0

好趕Rikesh。 :) – 2013-03-07 13:15:59

+0

就是這樣......謝謝。 – wwwglro 2013-03-07 13:50:55

+0

如果我想要做更多動態的事情,比如:'$ query。=「ORDER BY」。 $ _GET ['orderby']。 ;'??? – wwwglro 2013-03-07 13:58:06

0

它應和

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

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

insetad,你需要之前,爲了給空間BY

+0

這沒有任何意義,mysql默認爲ASC。此外,這個錯誤對應於其他的東西(mysql_num_fields) – 2013-03-07 13:12:34

+0

而且我寫它給空間也....? – Gautam3164 2013-03-07 13:17:07

2

添加它應該是:

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

試試這個:

$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); 

一個 '空間' 是單前,需要通過

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";