我想要做的是根据html表单的值连接到特定的数据库,首先是可能的吗?
我有一些建议的代码:
这是我在上一页的表格:
<form method="post" action="connexion.php">
<li> <strong><b>Aircraft</b></strong> : <input type="text" name="Aircraft" placeholder="MRJ" /><br /> </li>
<li> <strong><b>Systeme</b></strong> : <input type="text" name="Systeme" placeholder="ATAXX" /><br /> </li>
<li> <strong><b>Projet</b></strong> : <input type="text" name="Projet" placeholder="CMA" /><br /> </li>
<br />
<input type="submit" value="Submit">
我的connexion.php代码:
<?php
/* Database credentials. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '@Rugby3390');
define('DB_NAME', 'ata."$Systeme"');
/* Attempt to connect to MySQL database */
$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
// Check connection
if($mysqli === false){
die("ERROR: Could not connect. " . $mysqli->connect_error);
}
header("location: ../FailureCondition/failurecondition$_POST[Systeme].php");
?>
所以,如果您能理解我,根据在Systeme中输入的数据,我想连接到一个名为ata(用户输入)的特殊数据库,并重定向到页面whit,还有名为failurecondition(用户)的用户输入信息.PHP
我的代码有什么问题?
THX
答案 0 :(得分:0)
如果尚未关闭html页面中的表单标记(---
- hosts: localhost
gather_facts: no
vars:
domaenenliste:
"01":
dhcp_start: 10.43.12.0
dhcp_ende: 10.43.15.254
server_id: 3
"15":
"16":
dhcp_start: 10.43.128.26
dhcp_ende: 10.43.131.255
server_id: 2
tasks:
- set_fact:
domaenenliste: "{{ domaenenliste | combine(new_leaf) }}"
vars:
new_leaf:
"15":
partner: foobar
- debug:
msg: "{{ domaenenliste }}"
)。试试这个:
</form>
答案 1 :(得分:0)
虽然Nirav和Arkits&#39;解决方案应该解决问题,从根本上错误定义变量的常量会让我感到震惊。我建议这更正确:
$mysqli = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD,$_POST['Systeme']);
此外,与此处的情况一样,在您的应用程序具有多个数据库的情况下,在查询中使用隐式数据库可能会在以后引起痛苦。如果数据库的分离只是一个组织问题,那么更好的方法是在查询中明确引用数据库:
$activeDB=$_POST['Systeme'];
$sql="SELECT * FROM ${activeDB}.atable";
OTOH如果它旨在提供可扩展性,那么你的代码就不能解决这个问题 - 你应该使用类似的东西:
$dbs=array(
'db1'=>array(
'user'=>'mysqluser', 'host'=>'localhost', 'password'=>'s3cr3t'
),
'db2'=>array(
'user'=>'mysqluser', 'host'=>'localhost', 'password'=>'s3cr3t'
),
'db3'=>array(
'user'=>'other', 'host'=>'192.168.22.4', 'password'=>'swordfish'
)
...
);
$use=$dbs[$_POST['Systeme']];
if (!is_array($use)) {
...
}
$mysqli = new mysqli($use['host'], $use['user'], $use['password'], $_POST['Systeme']);