2011-02-11 13 views
5

इम का उपयोग कर MySQL क्वेरी में सत्र चर जोड़ना, और उसके जब नीचे में सत्र चर गुजर अटक:एक mysql क्वेरी में दो चर पारित करने के लिए कोशिश कर रहा पीएचपी

$check = mysql_query("SELECT * 
         FROM Clients 
         WHERE Username = '$new_username' 
         AND Username != '$_SESSION['Username']'") or die(mysql_error()); 

किसी भी सुझाव दिए गए? अग्रिम में धन्यवाद।

+0

इस प्रयास करें '" ग्राहकों से चुनें * कहां प्रयोक्ता नाम = '$ new_username' और प्रयोक्ता नाम! = ' "। $ _ सत्र [' नाम ']।"' "' –

+2

"फंस हो रही है" वास्तव में एक है त्रुटि संदेश। यह उत्पादन क्या उत्पादन है? –

+0

चीयर्स शक्ति ने काम किया है :) – Matt

उत्तर

5

ऐसा इसलिए है क्योंकि आपके एकल उद्धरण '$_SESSION['Username']' सत्र में मूल्य से समाप्त हो गए हैं। '" . $_SESSION['Username'] . "' पर इसे बदलने से समस्या हल हो जाएगी।

+0

एकमात्र उचित उत्तर के लिए – Matt

6

यह काम करेगा, लेकिन इस बहुत, बहुत खराब है:

$check = mysql_query(" 
    SELECT * 
    FROM Clients 
    WHERE Username = '$new_username' 
    AND Username != '{$_SESSION['Username']}' 
") or die(mysql_error()); 

यह भी काम करेगा और यह कर के रास्ते की सिफारिश की:

$check = mysql_query(" 
    SELECT * 
    FROM Clients 
    WHERE Username = '" . mysql_real_escape_string($new_username) . "' 
    AND Username <> '" . mysql_real_escape_string($_SESSION['Username']) . "' 
") or die(mysql_error()); 
+1

+1 के लिए बहुत बहुत धन्यवाद। –

0

जब आप तार करने के लिए सरणियों एम्बेड करते हैं, आपको उन्हें संयोजित करके या घुंघराले ब्रेसिज़ का उपयोग करके अलग करना होगा।

$string = "text text {$array['key']} text"; 

या

$string = "text text " . $array['key'] . " text"; 
0

क्यों कोई नहीं के बारे में "पाठ पाठ $ सरणी [कुंजी] पाठ" वाक्य रचना का कहना है?

SELECT * 
FROM Clients 
WHERE Username = '$new_username' 
AND Username != '$_SESSION[Username]' 
संबंधित मुद्दे