如果php上不存在变量名,则将其输入到CREATE TABLE中
我在一个变量上有一个表名,但当我把它放在CREATETABLE IF NOT EXISTS命令中或者它创建了名为table的$table时,它就不起作用了 以下是我的代码的相关部分:如果php上不存在变量名,则将其输入到CREATE TABLE中,php,mysql,create-table,Php,Mysql,Create Table,我在一个变量上有一个表名,但当我把它放在CREATETABLE IF NOT EXISTS命令中或者它创建了名为table的$table时,它就不起作用了 以下是我的代码的相关部分: $con=mysqli_connect("localhost","user","pwd","DB"); $usuario=$_SESSION["uid"]; $tabla=$usuario; $tabla.='_partidos'; echo $tabla; // shows the
$con=mysqli_connect("localhost","user","pwd","DB");
$usuario=$_SESSION["uid"];
$tabla=$usuario;
$tabla.='_partidos';
echo $tabla; // shows the correct name of the table
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//crear tabla
$create_table =
'CREATE TABLE IF NOT EXISTS $tabla (
`ID` int(2) NOT NULL AUTO_INCREMENT,
`Grupo` varchar(1),
`Local` char(30),
PRIMARY KEY (`ID`)
)
COLLATE=utf8_spanish_ci';
$con->query($create_table);
将不分析单引号字符串中的变量。但是,它将被解析为双引号字符串:
"CREATE TABLE IF NOT EXISTS $tabla (
`ID` int(2) NOT NULL AUTO_INCREMENT,
`Grupo` varchar(1),
`Local` char(30),
PRIMARY KEY (`ID`)
)
COLLATE=utf8_spanish_ci";
或者,您可以始终将其连接起来:
"CREATE TABLE IF NOT EXISTS " . $tabla . " (
`ID` int(2) NOT NULL AUTO_INCREMENT,
`Grupo` varchar(1),
`Local` char(30),
PRIMARY KEY (`ID`)
)
COLLATE=utf8_spanish_ci";
因为您用
“
单引号将该变量括起来,所以应该将其串联或使用双引号