2011-03-15 42 views
0

希望有人能幫助我簡單的PHP變量問題

我已經聲明的變量

<?php $sitename = "http://" .$_SERVER["SERVER_NAME"]; ?> 

,並想使用該變量在MySQL查詢:

$query_rs_main = "SELECT * FROM g_page WHERE g_page_site = "echo $sitename" AND g_page_url = '/index.asp'"; 

我如何做「echo $ sitename」部分?感謝

回答

3
$sitename = "http://" .$_SERVER["SERVER_NAME"]; 
$sitename = mysql_real_escape_string($sitename); 
$query_rs_main = "SELECT * FROM g_page WHERE g_page_site = '" . $sitename . "' AND g_page_url = '/index.asp'"; 
+0

HSZ嗨 - 這對我的作品,我學到新的東西,以及與mysql_real_escape_string($站點名);功能! - 謝謝 – 2011-03-15 15:42:28

+0

歡迎您!總是在必須將任何不可信數據放入SQL查詢中時使用'mysql_real_escape_string'。如果使用整數值,則將其解析爲int:'$ id =(int)$ _GET ['id']'等等 – hsz 2011-03-15 15:48:06

1
$query_rs_main = "SELECT * FROM g_page WHERE g_page_site = '". mysql_real_escape_string($sitename) . "' AND g_page_url = '/index.asp'"; 

兩件事情從此拉開了距離:

  1. 你不想給一個變量回聲「變成」一個SQL查詢,這只是沒有任何意義。你想用「。」和字符串的其餘部分連接變量。運營商。

  2. 您總是想在將某些東西插入數據庫時​​清理您的輸入。在這種情況下,您想要escape your string以防止SQL injections

0
 
$query_rs_main = "SELECT * FROM g_page WHERE g_page_site = '".$sitename."' AND g_page_url = '/index.asp'"; 
-1
$query_rs_main = "SELECT * FROM g_page WHERE g_page_site = $sitename AND g_page_url = '/index.asp'"; 
+0

Downvote without comment comments?不太友善^^ – KingCrunch 2011-03-15 15:59:47