Więc niedziałający skrypt wygląda inaczej niż ten prezentowany w pierwszych postach? Oczekujesz od nas
@flasy pomocy, pokazując inny skrypt...
Błąd masz w funkcji
petla(), która odpowiada (chyba) za utworzenie części zapytania SQL:
<?php
function petla($i, $ilosc_w2) {
$i=1;
while ($i < $ilosc_w2) {
$nazwa_kol =$_POST['nazwa_kol'.$i.''];
$rodz_wp =$_POST['rodz_wp'.$i.'']." NOT NULL";
$tablica .= " ".$nazwa_kol." " .$rodz_wp.",";
$i++;
}
return $tablica;
}
// wywołanie funkcji
$tablicat = petla($i=0, $ilosc_w2);
?>
- Po co w wywołaniu funkcji przekazujesz jej argument
$i, jak i tak w pierwszej linijce nadajasz zmiennej wartość 1?
- Dokonujesz konkatenacji (łączenia) łańcucha
$tablica, ale nigdzie nie widzę miejsca w którym ten łańcuch powstaje (innymi słowy, dodajesz coś do czegoś, co nie istnieje).
Jako że nie wiem, w jaki sposób są przechowywane zmienne, wywołaj swój skrypt (dla kilku wierszy), i napisz, jak wygląda utworzone zapytanie (napisz wynik tych linijek):
<?php
$tablicat = petla($i=0, $ilosc_w2);
$query="CREATE TABLE ".$nazwa_tab." (id int(6) NOT NULL auto_increment,".$tablicat." PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";
?>
Dodatkowo:
- jeżeli kolumna jest kluczem podstawowym (PRIMARY KEY), jest ona automatycznie unikalną (UNIQUE), zindeksowaną (KEY) kolumną...
- włącz raportowanie błędów (error_reporting(E_ALL)) - na pewno się przyda...