X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не получается создать таблицу в бд
Paladin111
Paladin111
Topic Starter сообщение 31.5.2010, 21:54; Ответить: Paladin111
Сообщение #1


Добрые люди, помогите разобраться!
Имеется 3 исходника для создания таблицы в БД, но таблица не создается!!!
1)
[php]<html>
<head>
<title>Создание таблицы базы данных</title>
</head>
<body>
<h1>"имя и колличество"</h1>
<form method="get" action="do_showfielddef.php">
<p><strong>имя таблицы</strong><br>
<input type="text" name="table_name" size=30></p>
<p><strong>Колличество полей</strong><br>
<input type="text" name="num_fields" size=5></p>
<p><input type="submit" name="submit" value="перейти к этапу 2"</p>
</form>
</body>
</html>[/php]2)
[php]<?php
if ((!$table_name) || (!$num_fields)) {
header ( "Location: show_createtable.html");
exit;
}
$form_block="
<form method=\"post\" action=\"do_createtable.php\">
<input type=\"hidden\" name=\"table_name\" value=\"$table_name\">
<table cellspacing=5 cellpadding=5>
<tr>
<th>имя поля</th><th> тип поля</th><th>Длина поля</th></tr>
";
for ($i=0; $i<$num_fields; $i++){
$form_block .= "
<tr>
<td align=center><input type=\"text\" name=\"field_name[]\" size=\"30\"></td>
<td align=center>
<select name=\"field_type[]\">
<option value=\"char\">char</option>
<option value=\"date\">date</option>
<option value=\"float\">float</option>
<option value=\"int\">int</option>
<option value=\"text\">text</option>
<option value=\"varchar\">varchar</option>
</select>
</td>
<td align=center><input type=\"text\" name=\"field_length[]\" size=\"5\"></td>
</tr>
";
}
$form_block .= "
<tr>
<td align=center colspan=3><input type=\"submit\" value=\"Создать таблицу\"></td>
</tr>
</table>
</form>
";
?>

<html>
<head>
<title>Создание таблицы базы данных</title>
</head>
<body>
<h1>Определите поля для <? echo "$table_name";?></h1>
<? echo "$form_block";?>
</body>
</html>[/php]3)
[php]<?php
$db_name="newdb";
$connection = mysql_connect("localhost", "root", "pass")
or die ("Невозможно подключиться MySQL");
$db = mysql_query('USE '.$db_name, $connection)
or die ("Невозможно выбрать базу данных");
$sql= "create table $table_name (";
for ($i=0; $i <count($field_name); $i++){
$sql .= "field_name[$i] $field_type[$i]";
if ($field_length[$i] != ""){
$sql .= "($field_length[$i]$),";
} else {
$sql .=",";
}
}
$sql = substr($sql, 0, -1);
$sql .=")";
$result = mysql_query($sql, $connection)
or die ("Невозможно выполнить запрос");
if ($result) {
$msg ="<p> таблица $table_name создана</p>";
}
?>
<html>
<head>
<title>Создание таблицы базы данных</title>
</head>
<body>
<h1>Добавление таблицы в базу данных <? echo "db_name"; ?>...</h1>
<? echo "$form_block";?>
</body>
</html>[/php]тут и конец
"Невозможно выполнить запрос"
не пойму ошибки!!!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 31.5.2010, 22:04; Ответить: alexdrob
Сообщение #2


а ты замени строку
[php]$result = mysql_query($sql, $connection)
or die ("Невозможно выполнить запрос");[/php]на вот такую конструкцию
[php]
$result = mysql_query($sql, $connection);
if (!$result){
echo "Невозможно выполнить запрос<br>";
echo $sql."<br>";
echo mysql_error();
}
[/php]
и оно само ответит почему нельзя)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Paladin111
Paladin111
Topic Starter сообщение 31.5.2010, 22:16; Ответить: Paladin111
Сообщение #3


(alexdrob @ 1.6.2010, 01:04) *
а ты замени строку
[php]$result = mysql_query($sql, $connection)
or die ("Невозможно выполнить запрос");[/php]на вот такую конструкцию
[php]
$result = mysql_query($sql, $connection);
if (!$result){
echo "Невозможно выполнить запрос<br>";
echo $sql."<br>";
echo mysql_error();
}
[/php]и оно само ответит почему нельзя)


Ответ
Невозможно выполнить запрос
create table table_1 (field_name[0] int(5$),field_name[1] text(50$),field_name[2] date)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[0] int(5$),field_name[1] text(50$),field_name[2] date)' at line 1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 31.5.2010, 22:19; Ответить: alexdrob
Сообщение #4


вот тут
[PHP] $sql .= "field_name[$i] $field_type[$i]";[/PHP]
сделайте так
[PHP] $sql .= "$field_name[$i] $field_type[$i]";[/PHP]
а вот тут
[PHP] $sql .= "($field_length[$i]$),";[/PHP]
вот так
[PHP] $sql .= "($field_length[$i]),";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ottaviano
ottaviano
сообщение 31.5.2010, 22:22; Ответить: ottaviano
Сообщение #5


(Paladin111 @ 1.6.2010, 00:54) *
$sql*.=*"($field_length[$i]$),";

а если из этого убрать вот этот доллар
[PHP]]$)[/PHP] только доллар!


P.s. уже опередили )))

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
17 uahomka 3228 Вчера, 11:58
автор: Omaxis
Открытая тема (нет новых ответов) Не получается оплатить YouTube Premium (для Турции и Аргентины по VPN YouTube Premium недоступна)
3 rownong27 533 20.3.2024, 21:39
автор: MisterBit
Открытая тема (нет новых ответов) Как создать бота Телеграм с приемом оплат?
0 rownong27 452 4.3.2024, 0:51
автор: rownong27
Открытая тема (нет новых ответов) Хочу создать сайт кино.
12 jreset26 1889 30.1.2024, 0:12
автор: Liudmila
Открытая тема (нет новых ответов) Нужно создать букс (на местной валюте)
0 imvaisov 1463 10.7.2020, 15:08
автор: imvaisov


 



RSS Текстовая версия Сейчас: 20.4.2024, 13:04
Дизайн