2014-03-31 60 views
1

我正在尋找使用會話用戶id = PhysioReference(表中的字段),但它似乎不工作的條件?什麼是正確的方式還是有更好的方法?條件使用會話ID來顯示信息相關

其顯示在表中的信息,但只有在登錄的人已經指定了信息

$sql="SELECT * FROM IA WHERE IASubmitted= 'no' AND PhysioReference = $_SESSION['SESS_MEMBER_ID']"; 
+0

'$ SQL = 「SELECT * FROM IA WHERE IASubmitted = '不',PhysioReference =」 $ _ SESSION [ 'SESS_MEMBER_ID'];' – MSadura

+0

遺憾的是沒有工作,怎麼樣我會正確使用一個會議作爲即時通訊這個 – user3301611

+0

非常新,那麼,嘗試echo' $ _SESSION ['SESS_MEMBER_ID']'它有適當的價值嗎? – MSadura

回答

0

$ SQL = 「SELECT * FROM IA TB1,TB2成員WHERE = tb1.PhysioReference tb2.member_id AND tb2.member_id =」 $ _ SESSION [ 'SESS_MEMBER_ID']。 $ result = mysql_query($ sql);

這到底是工作

0

文字表示你想要什麼會使用Complex (curly) in string variable syntax壞主意):

$sql="SELECT * FROM IA 
     WHERE IASubmitted= 'no' AND PhysioReference = ${_SESSION['SESS_MEMBER_ID']}"; 

這樣卻容易出現SQL Injection,而使用prepared statement

$sql="SELECT * FROM IA 
     WHERE IASubmitted= 'no' AND PhysioReference = ?"; 

/* Prepared statement, stage 1: prepare */ 
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) { 
    echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error; 
} 

/* Prepared statement, stage 2: bind and execute */ 
if (!$stmt->bind_param("i", $_SESSION['SESS_MEMBER_ID'])) { 
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error; 
} 

if (!$stmt->execute()) { 
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error; 
} 
+0

對不起,這是一個錯字,是這就是我想要的,但仍然有一個問題,我需要調用$ _SESSION ['SESS_MEMBER_ID'] – user3301611

+0

@ user3301611現在應該工作 – Vyktor