Пока у меня есть этот код:
$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();
И не знаю, как исходить из этого.
Спасибо.
ALTER TABLE emails ADD <column name> varchar(60)
Вы должны указать длину