到目前为止,我已经有了这段代码:
$column_name = strtolower($_POST['<user input>']);
if(!preg_match('/[^A-Za-z0-9.#\\-$]/', $column_name)){
if(!empty($column_name)){
$st = $db_pdo->prepare("DESCRIBE <table name>");
$st->execute();
$st = $st->fetchAll(PDO::FETCH_COLUMN);
$compare = $st;
foreach($compare as $key){
if($key === $column_name){
die('Project name already exists. Please select a different name.');
}
}
$st = $db_pdo->prepare("ALTER TABLE emails ADD <column name> varchar");
$st->execute();
} else { echo 'Project name is empty.';}
} else { echo 'Project name can only contain letters and numbers.';}
简要概述:
检查列名中的无效字符。 通过用户输入检查列名是否为空。 如果表已存在,请终止页面。
我是PHP和MySQL的新手,如果这些看起来像是基本问题,我真的很抱歉。
我想要做的是将一个新列插入到varchar长度为60的表中。就是这样,不需要其他属性。
我似乎无法找到关于如何使用Google执行此操作的相应说明,因此我希望对某些伪代码进行一些解释。
到目前为止,我已经得到了这个:
$st = $db_pdo->prepare("ALTER TABLE emails ADD <column name> varchar");
$st->execute();
并且不知道该怎么做。
谢谢。
答案 0 :(得分:2)
ALTER TABLE emails ADD <column name> varchar(60)
您必须指定长度