我甚至不知道我是否正确地表达了这个问题。
但是我不认为这与此处标明的答案重复 因此 !因为,这与函数或类无关 无论如何,这个答案并没有给出任何特定的灵魂 类似的剧本或情况!!
让我试着解释一下我的问题。
我有多个数据库。 database1,database2,database3等。
在我的conn.php中,我已经完成了像
这样的mysqli连接$clientdb=new mysqli($server,$user,$pass,"database1") or die("clientdb error :".$clientdb->error);
$usersdb=new mysqli($server,$user,$pass,"database2") or die("usersdb error :".$usersdb->error);
$productsdb=new mysqli($server,$user,$pass,"database3") or die("productsdb error :".$productsdb->error);
我有一个html表单中的select字段,用于选择数据库和POST到process.php页面
假设我在select POST变量postedDbName中选择了'database1',
这就是我所拥有的;
$postedDbName=$_POST['postedDbName'];
if($postedDbName=='database1'){
$dbConn=$clientdb;
}
elseif($postedDbName=='database2'){
$dbConn=$usersdb;
} elseif($postedDbName=='database3'){
$dbConn=$productsdb;
}
$query=$dbConn->query("..........."); // This is line 67 in my code
//There are many more such queries
这不起作用,因为我收到以下错误消息
注意:未定义的变量:C:\ Program中的dbConn 文件\的EasyPHP-DevServer-14.1VC11 \ DATA \ localweb \ Landshoppe \ Myadmin \ editdata.php 在第67行
致命错误:在非对象中调用成员函数query() C:\ PROGRAM 文件\的EasyPHP-DevServer-14.1VC11 \ DATA \ localweb \ Landshoppe \ Myadmin \ editdata.php 在第67行
并且我不想将查询放在每个if条件中,因为还有更多其他查询,我想用$ dbConn查询。
我猜测这是因为$ clientdb,$ usersdb,$ productsdb是对象,不能存储在变量中,然后再被称为对象......或类似的东西......
我相信,除了我正在进行的这一可怕尝试之外,还有一百多种基本和'常识'的方法来实现这一目标....
如果某人确实指向了正确的方向,我想可以锁定......
提前致谢...