 |
Если вы впервые на нашем форуме - ознакомьтесь с правилами
|
|
Доброго времени суток!
Предистория такова, что я только начал изучать PHP и его работу с SQL. Тестовая задача (поставленная мной) достаточна проста. Скриптом проверить есть ли таблица с именем $name_table и, если ее нет, то создать таблицу суказанным именем. Надо сказать, что с поставленной задачей я справился, но я не верю, что это надо делать только таким способом. Наверняка есть более простые варианты. Будьте добры, поделитесь...
Вот как я это сделал:
<?php
$name_table = $_POST[table_name]; #получаем имя таблицы из формы
// соединение с сервером
$mysql_base = mysql_connect("127.0.0.1:3306","root","");
// соединение с базой
mysql_select_db("web-test",$mysql_base);
//надо проверить наличие таблицы перед ее созданием
$sql_test = "SELECT * FROM $name_table"; # формируем строку запроса sql
$result = mysql_query($sql_test,$mysql_base); # попытаемся получить что-то из таблицы
if ($result) {# если $result истина, то таблица есть
echo "Таблица с этим именем уже есть! Создавать нельзя<br>";
$table = "1";
} else {# иначе таблицы нет
echo "я считаю, что таблицы с этим именем нет. Можно создавать!<br>";
$table = "0";
}
// SQL запрос на создание таблицы
$sql = "CREATE TABLE $name_table (
id INT(5) not null auto_increment,
author VARCHAR(50),
email VARCHAR(100),
message TEXT,
datetime INT(10),
PRIMARY KEY(id)
)";
echo $table;
//выполнение запроса
if ($table == "0") {
mysql_query($sql,$mysql_base);
echo "<br><b>Запрос SQL будет выглядеть так:</b><br>$sql";
}
//отсоединение
mysql_close($mysql_base);
?>
|
|
16 декабря 2005, 13:02
|
|
Это сообщение было просмотрено: 14539 раз(а)
|
 |