【发布时间】:2013-11-29 08:55:42
【问题描述】:
到目前为止,我已经得到了这个代码:
$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();
而且不知道如何继续。
谢谢。
【问题讨论】: