2015-09-04 112 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

没有任何错误,不显示任何信息 –