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> <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> <?php $sql = \"CREATE TABLE $table_name (\"; // dodaje do instrukcji sql pola tabeli , ich typ i dł jeżeli była podana $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) { } ?> </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