Php 我想打印$s1$s2$s3中的值,而不是变量名

Php 我想打印$s1$s2$s3中的值,而不是变量名,php,mysql,Php,Mysql,我想打印$s1$s2$s3中的值,而不是变量名。当在数据库中发送值时,只有变量名$s1、$s2、$s3等,而不是其中的值 <?php echo $s1=$_POST['1']; echo $s2=$_POST['2']; echo $s3=$_POST['3']; echo $s4=$_POST['4']; $proo=$_POST['proo']; $semm=$_POST['semm']; $shii=$_POST['shii']; $secc=$_POST['secc']; $su

我想打印$s1$s2$s3中的值,而不是变量名。当在数据库中发送值时,只有变量名$s1、$s2、$s3等,而不是其中的值

<?php
echo $s1=$_POST['1'];
echo $s2=$_POST['2'];
echo $s3=$_POST['3'];
echo $s4=$_POST['4'];

$proo=$_POST['proo'];
$semm=$_POST['semm'];
$shii=$_POST['shii'];
$secc=$_POST['secc'];
$subb=$_POST['subb'];
if($btnn)
{
    $sele=mysql_query("select * from `sconfirmed` where `pro`='$proo' && `sem`='$semm' && `section`='$secc' && `shift`='$shii' ");
    $count=mysql_num_rows($sele);
    $b='1';

    do
    {

        $a='1';
        $s='$s';
        while($ro=mysql_fetch_array($sele))
        {
            $pic=$ro['pic'];
            $sname=$ro['sname'];
            $rollno=$ro['rollno'];

            $sfather=$ro['sfather'];
            $phone=$ro['phone'];
            $email=$ro['email'];

            $address=$ro['address'];
            $dob=$ro['dob'];
            $iddd=$ro['id'];
            $sess=$ro['ses'];

            $c=$s.$a;


            $insert=mysql_query("insert into `markssub1`(`sid`,`sname`,`sem`,`sec`,`pro`,`shi`,`rollno`,`ses`,`tid`,`tname`,`subject`,`marks`) values ('$iddd','$sname','$semm','$secc','$proo','$shii','$rollno','$sess','$id','$user','$subb','$c') ");
            $a=$a+1;
        }
    }
    while($count<=$b);
}
?>

我认为你应该改变

$s='$s';

在PHP中使用双引号或单引号是有区别的。处理变量时使用双引号

增加

如果我理解您的意图,请查看此示例是否有助于您:

$s1 = "something";
$currentVar = "s"."1";
/*Then here you loop through whatever you want (in your example it will be "s".$a */

echo $$currentVar;
会有回报


就这样?

尝试回显while循环中的变量,而不是先插入变量以查看它们是否包含值。还要注意,您使用的是不推荐使用的mysql连接,因此容易受到sql注入的攻击;试试$c=${s.$a};另请参见,您可以缩短$a=$a+1;只需$a++;您的代码容易受到SQL注入攻击。请参阅并考虑使用准备好的语句升级到PDO。我同意您的代码安全性。如果您在非安全环境中使用PDO或mysqli_real_scape_字符串,则应予以考虑。非常感谢,亲爱的…..问题是此时未定义$s,因此$s将是空字符串。OP需要将1/2/3连接到$s以访问$s1/$s2/$S3,所以如果我有这个想法,它应该是$c=$s$a,它将引用$s1等等?
$s1 = "something";
$currentVar = "s"."1";
/*Then here you loop through whatever you want (in your example it will be "s".$a */

echo $$currentVar;