2016-02-24 78 views
-9

我有一個小問題,我想的值賦給一個變量,根據會議:腓如果會議聲明變量

這裏我簡單的代碼:

<?php 
    if ($_SESSION['admin_level'] == 10) { 
     $myvar = 'newclient'; 
    } elseif ($_SESSION['admin_level'] == 11) { 
     $myvar = 'oldclient'; 
    } 
?> 
這樣

,我可以做一個查詢:

$qry="SELECT * FROM client where client_status='".$myvar."'"; 

不幸的是我不能聲明變量並失敗。感謝您的幫助

+1

你在使用'session_start();'之前任何其他輸出?你說它失敗了 - 你看到了什麼錯誤? – Ben

+0

如果錯誤在查詢中,MySql表示沒有結果,但表示無法讀取該變量的值。警告:mysql_num_rows()期望參數1是資源,布爾給定 – MrCongo

+0

您需要提供有關該錯誤的更多信息。問題可能是會話未啓動,如上面的註釋。您可以使用echo功能打印會話變量的值,以幫助您找到問題。另一個考慮是你的if沒有其他語句。 –

回答

0

我不清楚的問題。據我瞭解檢查下面的代碼

<?php 
    session_start(); // this is the first thing to do 

    if(isset($_SESSION['admin_level'])){ 
     $_SESSION['admin_level']=10; //Set admin level if not available 
    } 

    $var=($_SESSION['admin_level']==10)?"newclient":"oldclient"; 


    $qry="SELECT * FROM client where client_status='".$var."'"; 
+0

謝謝。現在,這有效嗎? <?php session_start(); //這是做 如果(isset($ _ SESSION [ 'admin_level'])) \t { 是$ var =($ _ SESSION [ 'admin_level'] == 10) 「值1」?;}的第一件事 ELSEIF { 是$ var =($ _ SESSION [ 'admin_level'] == 11) 「值2」;}? > – MrCongo

+0

語法錯誤,意想不到的? ';' * $ VAR =($ _ SESSION [ 'admin_level'] == 10) 「值1」;} * – MrCongo

+0

您需要定義默認值。它是IF .. ELSE的快捷方式。$ var =($ _ SESSION ['admin_level'] == 10)?「value1」:「value2」; –