Php 将表名替换为变量时出现问题

Php 将表名替换为变量时出现问题,php,html,Php,Html,我正在从$rg中拆分字符,并使用strstrstr字符串函数与表名匹配。我将表名存储在数组中。字符串函数返回的值与 cs\u分支我将其传递给sql查询。但它与数据库中存在的表名不匹配 <?php $rg="175cs11011"; $arr=preg_replace('/[^a-zA-Z]/','',$rg); $br=array("cs_branch","ce_branch"); mysql_connect("localhost","root","6semcs") or die

我正在从
$rg
中拆分字符,并使用
strstrstr
字符串函数与表名匹配。我将表名存储在数组中。字符串函数返回的值与
cs\u分支
我将其传递给sql查询。但它与数据库中存在的表名不匹配

<?php
 $rg="175cs11011";
 $arr=preg_replace('/[^a-zA-Z]/','',$rg);

 $br=array("cs_branch","ce_branch");
 mysql_connect("localhost","root","6semcs") or die(MySQL_error());
 mysql_select_db("gptistu_progress") or die(MySQL_error());  
 for($i=0;$i<2;$i++)
 {
   $ma=strstr($br[$i],$arr);
    echo $ma;
    $data ="SELECT * FROM `$ma`"; 
 }
 MySQL_query($data) or die(MySQL_error()); 
 ?>

尝试更改

for($i=0;$i<2;$i++)
{
    $ma=strstr($br[$i],$arr);
    echo $ma;
    $data ="SELECT * FROM `$ma`"; 
}
p、 很可能您的mysql\u query()也必须处于循环中。

更改`

mysql_connect("local host","root","6semcs") or die(MySQL_error());`


你用错了substr。第二个参数必须是如下所示的整数:

substr($br[$i], strlen($arr))

“它不起作用”是没有用的。请解释,如果您收到一条错误消息(如果是,是哪条),或者结果与您的预期不同(如果是,如何)。
mysql\u connect(“local host”、“root”、“6semcs”)
这不是没有空格的localhost吗
mysql\u connect(“localhost”、“root”、“6semcs”)
@MichaelDibbets good eyes…实际的表名是什么?先生,我正在拆分字符表175cs11011并与表名匹配。所以我在数组中使用了四个表名。我使用了字符串比较函数“strstr”,它将我作为“cs_branch”返回。因此,我在sql查询中给出了这样的字符“$data=“SELECT*FROM
$ma
”;”先生,我将字符从175cs11011中拆分,并与表名匹配。所以我在数组中使用了四个表名。我使用字符串比较函数“strstr”来匹配拆分的字符和表名,它返回的是我作为cs_分支。我在sql查询中给出了这样的字符“$data=“SELECT*FROM
$ma
”;”。。。。。。。。
mysql_connect("localhost","root","6semcs") or die(MySQL_error());
substr($br[$i], strlen($arr))