我正在尝试使用以下代码向表中添加列。它不允许我通过变量($ document_type)插入列名。
$document_type=$_POST['document_type'];
$category=$_POST['category'];
$file_extension=$_POST['file_extension'];
// Database Insert
$sql_link = Connect_MySQLi_DB();
$stmt1 = $sql_link->prepare("INSERT INTO document_type (document_type,category,file_extension) VALUES (?,?,?)");
$stmt1->bind_param('sss',$document_type,$category,$file_extension);
if($stmt1->execute()){
//Problem Here
$sql_link->query("ALTER TABLE hr_types ADD $document_type VARCHAR(255) NULL");
}
如果我静态键入列名,则可以正常工作。但是对于变量,注意到发生,它甚至不会抛出错误。知道这里发生了什么吗?
答案 0 :(得分:-1)
这应该有效。 :)
$sql_link->query("ALTER TABLE `hr_types` ADD `{$document_type}` varchar(255) NULL");