WItam,
Podczas nauki z php pisze skrypt , ktory bedzie tworzyc tabele w bazie danych
druga jego czescia jest formularz:
<!Doctype html public \"-//w3c//DTD html 4.0 transitional//en\">
<html>
<head>
<title>Utwórz tabelę bazy danych: Etap 2</title>
</head>
<body>
<h1>Zdefiniuj pola dla
<?php echo \"$_POST[table_name]\"; ?></h1>
<form method=\"post\" action=\"do_createtable.php\">
<input type=\"hidden\" name=\"table_name\" value=\"<?php echo \"$_POST[table_name]\"; ?>\">
<table cellspacing=5 cellpadding=5>
<tr>
<th>Nazwa Pola</th><th>Typ Pola</th><th>Długość Pola</th></tr>
<?php
for ($i = 0 ; $i < $_POST[num_fields]; $i++) {
echo \"<tr>
<td align=center>
<input type=\"text\" name=\"field_name[]\" size=\"30\">
</td>
<td align=center>
<select name=\"field_type[]\">
<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>\";
}
?>
<tr>
<td align=center colspan=3>
<input type=\"submit\" value=\"Utwórz tabele\"></td>
</tr>
</table>
</form>
</body>
</html>
i po jego wypelnieniu wykonywany jest ten skrypt:
<!--HEADER-->
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">
<HTML>
<HEAD>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\">
<META HTTP-EQUIV=\"Creation-date\" CONTENT=\"2002.03.16\">
<META HTTP-EQUIV=\"Reply-to\" CONTENT=\"adres zwrotny\">
<META NAME=\"Description\" CONTENT=\"opis dokumentu\">
<META NAME=\"Author\" CONTENT=\"autor dokumentu\">
<META NAME=\"Generator\" CONTENT=\"Zajączek 3.0\">
<TITLE>Utwórz tabelę bazy danych: Etap 3</TITLE>
</HEAD>
<BODY>
<h1>Dodawanie tabeli
<?php echo \"$_POST[table_name]\"; ?> </h1>
<?php
$sql = \"CREATE TABLE $table_name (\";
// dodaje do instrukcji sql pola tabeli , ich typ i dł jeżeli była podana
for ($i = 0; $i < count($_POST[field_name
]); $i++) { $sql .= $_POST[field_name][$i].\" \".$_POST[field_type][$i];
if ($_POST[field_length][$i] != \"\") {
$sql .= \" (\".$_POST [field_length][$i].\"),\";
}
else {
$sql .= \",\";
}
}
$sql .= \")\";
//utwórz połączenie
//wybierz baze danych
//wykonaj zapytanie sql i pobierz wyniki
//wyświetl komunikat o powodzeniu
if ($sql_result) {
echo \"<p>$_POST[table_name] została utworzona!</p>\"; }
?>
</body>
</HTML>
niestety napotykamy tutaj blad. Nie weim czym jest spowodowany.
Jego tresc to:
Kod
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 '(osiem float (2),dziewiec float (3))' at line 1
osiem i dziewiec to nazwy, ktore wprowadzilem w formularzu (pierwszy kod zrodlowy)
Pozdrawiam
i prosze o szybka odpowiedz.
Ka-lolek