2013-08-12 48 views
-1

變量我下一個代碼來構建我的變量:一個變量來保存表名,並使用查詢

$idProvincia=$_GET["ciudad"]; 

表名稱將根據$ idProvincia值更改。 表名:

$post="wp_".$idProvincia."_post"; 

,我想包括$變量後進入查詢:

$result = mysql_query ("SELECT post.ID, post.post_title, post.guid, post.post_content, postmeta.meta_value, postmeta.meta_key 
FROM `".$post."` AS post 
INNER JOIN wp_".$idProvincia."_postmeta AS postmeta ON post.ID = postmeta.post_id 
WHERE postmeta.meta_key='fc_start_datetime' AND post.post_status='publish' AND post.post_type='post' 
ORDER BY postmeta.meta_value ") or die (mysql_error()); 

我不能得到正確的結果。我已經閱讀了很多manuales,但我無法使查詢功能。

我想要做同樣的查詢過程爲多個變量

+0

什麼你獲得以上查詢? – Backtrack

+0

請停止!並閱讀此:http://stackoverflow.com/questions/732561/why-is-using-a-mysql-prepared-statement-more-secure-than-using-the-common-escape然後這:http:/ /php.net/manual/en/mysqli.quickstart.prepared-statements.php即使你得到這個代碼的工作,你只是從安全的角度問問題。 –

+0

@bgp我知道注入問題,我只是想讓它工作,我稍後會改變它,沒有理由投票否定,我只需要知道如何連接並使其工作正常 – n4h1n

回答

0

你應該將那個idProvincia的東西放在桌子body,沒有名字。

添加一個名爲idProvinciawp_post字段,然後添加這個號碼通常的方式:

$ciudad = mysql_real_escape_string($_GET["ciudad"]); 
$sql = "SELECT post.ID, post.post_title, post.guid, post.post_content, 
       postmeta.meta_value, postmeta.meta_key 
FROM wp_post AS post 
INNER JOIN wp_postmeta AS postmeta ON post.ID = postmeta.post_id 
WHERE postmeta.meta_key='fc_start_datetime' AND post.post_status='publish' AND post.post_type='post' AND idProvincia = '$ciudad' 
ORDER BY postmeta.meta_value " 
$result = mysql_query ($sql) or trigger_error(mysql_error()); 
+0

我無法將idProvincia添加到表wp_post。 $ idProvincia值會改變,查詢也必須改變 – n4h1n

+0

是的。這就是爲什麼它被添加到查詢。這就是SQL的工作原理:您必須將數據存儲在表體中,而不是存儲在表名中 –