将表名替换为变量的问题

时间:2014-03-24 10:02:53

标签: php html

我将$rg中的字符拆分,并使用strstr字符串函数与表名匹配。我将表名存储在数组中。字符串函数返回如 cs_branch我将此传递给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()); 
 ?>

3 个答案:

答案 0 :(得分:0)

尝试更改

for($i=0;$i<2;$i++)
{
    $ma=strstr($br[$i],$arr);
    echo $ma;
    $data ="SELECT * FROM `$ma`"; 
}

使用

foreach($br as $tableName) {
    $data ="SELECT * FROM `" . $tableName . "`"; 
}

P.S。可能你的 mysql_query()也必须处于循环中。

答案 1 :(得分:0)

改变`

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

mysql_connect("localhost","root","6semcs") or die(MySQL_error());

答案 2 :(得分:0)

您正在使用substr错误。第二个参数必须是整数,如:

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