使动态sql从会话数组中获取数据

时间:2015-09-04 05:07:14

标签: php mysql session

我正在使用PDO。我想创建一个sql语句,它给该用户的user_id哪个名称在会话数组中。当我从变量中的会话数组中获取数据并将其写入sql时,它只会在我写“" jhon"它给出了我要求的user_id。但我想动态sql prepare语句。我从网上看到了一些解决方案,但我无法弄清楚。

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() );
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

您需要在函数中传递$name参数

 function add_posts($name) {