2015-09-04 43 views
-2

我正在使用PDO。我想創建一個sql語句,該語句給出該用戶的user_id哪個名稱在會話數組中。當我從變量中的會話數組中獲取數據並將其寫入sql時,它不會提供任何內容,但是當我寫入「jhon」時,它會給出我需要的user_id。但我想動態的sql prepare語句。我看到一些來自網絡的解決方案,但我無法弄清楚。使動態sql從會話數組中獲取數據

session_start(); 
if(isset($_SESSION["username"])){ 
    $name=$_SESSION["username"]; 
    function add_posts(){ 
     if($posts_text != ""){ 
      try { 
       $conn=parent::connect();  
       $sql1=$conn->prepare("select user_id from user_login 
             where username=:username "); 
       $arr=array ('username'=>$name);//when i write "jhon" it gives id 14, 
       // when i write $name it gives nothing 
       $sql1->execute($arr); 
       $fetch = $sql1->fetch(); 

       echo $fetch['user_id']; 
      } 
      catch (PDOException $e){ 
       die ("connection failed" .$e->getMessage()); 
      } 
     } 
    } 
+0

是它給了正確的值 「JHON」。 –

回答

2

你需要你通過$name參數在函數

function add_posts($name) { 
+0

不,它不通過傳遞$名稱功能 –

+0

你得到什麼錯誤? – Saty

+0

沒有任何錯誤,不顯示任何信息 –