如何通过连接2个变量名传递下划线到PHP数据库


How to pass underscore by concatenating 2 variable names to PHP Database?

    <?php
        session_start();
        $x=$_SESSION['user'];
    ?>
    <script>
        function retrieve_chatter_name(chatter)   {        
            /* how to pass the value of "chatter" to PHP session variable inside a javascript function */     
            $y=$_SESSION['chatter'];    
        }
    </script>
--------------------------------------------------
    /*another Qn: */
    <?php    
        $sql = "SELECT * FROM $x_$y ";
        /* how to retrieve an already existing table with tablename "user_chatter" by passing values of user and chatter to a function */    
        $result = mysqli_query($con,$sql);        
    ?>
     $table = $x."_".$y;
     $sql = "SELECT * FROM $table";

试试上面的

当您在字符串中使用$x_$y时,它认为$x_是第一个变量,$y是第二个变量。看这个https://eval.in/122910

您可以使用铜括号{}来括住变量名

$sql = "SELECT * FROM ${x}_${y} ";

要传递一个值给javascript,你需要像下面这样回显变量。

<script>
        function retrieve_chatter_name()   {        
            /* how to pass the value of "chatter" to PHP session variable inside a javascript function */     
            var chatter = '<? php echo $_SESSION['chatter'];?>';
            return chatter;
        }
</script>

还注意到您没有在php中分配$y。你需要在php块中做这些。

<?php
    session_start();
    $x=$_SESSION['user'];
    $y=$_SESSION['chatter']; 
?>