Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
set4812
  1. $result = $db->query("INSERT INTO ".$_POST['nb']." (imie,nazwisko) VALUES ('".$_POST['im']."','".$_POST['na']."')");

Znowu co nie tak z e stringami proszę o pokazanie mi błędu bo nie widze sad.gif
nospor
No ale jaki masz blad?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?

Zanim odpowiesz zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie
alegorn
w takich wypadkach zawsze wyswietl wygenerowane query... na 95% to co zobaczysz - bedzie odpowiedzią na pytanie 'dlaczego nie chce dzialac'
set4812
nie dodaje rekordów mi do tabeli w ogóle i nie wyrzuca błedu w zapytaniu
nospor
Cytat
i nie wyrzuca błedu w zapytaniu
A wyswietlasz w ogole ten ewentualny blad?
set4812
Jak chce wstawic zeby pokazało bład nie idzie w ogóle nic nie pokazuje mi na stronie
  1. if($db->query("INSERT INTO ".$_POST['nb']." (imie,nazwisko) VALUES (\'".$_POST['im']."\',\'".$_POST['na']."\')")) else echo $db->error;



nospor ale ja wyzej mam tez formularza a jak dam samo zapytanie do wysłania do pokazuje mi
  1. $db = new mysqli('localhost', 'root', '', 'relacje');
  2. if(!isset($_POST['szukaj'])){
  3. echo '<center><form action="index.php?id=formularz" method="post">
  4. <font color="red"><B> Nazwa tabeli</B></font><input type="text" name="nb" size="15"><br/>
  5. <input type="submit" value="Pokaż" name="szukaj" ></form></center>';
  6. }
  7. else {
  8. $result = $db->query('SELECT * FROM '.$_POST['nb'].'');
  9. while ($row = $result->fetch_assoc()){
  10. echo $row['imie']." ".$row['nazwisko']; echo ' <a href="index.php?id=usun&num='.$row['id'].'&baza='.$_POST['nb'].'">usun</a><a href="index.php?id=zmien&num='.$_POST['nb'].'&imie='.$row['imie'].'&nazwisko='.$row['nazwisko'].'">ZMien</a><br/>';
  11. }}
  12. if(!isset($_POST['dodaj']) and isset($_POST['nb'])){
  13. echo '<center><form action="index.php?id=formularz" method="post">
  14. <font color="red"><B>Imie</B></font><input type="text" name="im" size="15"><br/>
  15. <font color="red"><B>Nazwisko</B></font><input type="text" name="na" size="15"><br/>
  16. <input type="submit" value="Pokaż" name="dodaj" ></form></center>';
  17. }
  18. else {
  19. if($db->query("INSERT INTO ".$_POST['nb']." (imie,nazwisko) VALUES (\'".$_POST['im']."\',\'".$_POST['na']."\')")) else echo $db->error; }
nospor
Masz blad sladni. ZObaczyl bys ten blad jakbys sie zastosowal do porad, ktore sa w linku co ci podalem.
Zapoznaj się wiec w koncu z tym linkiem a nastepnie poczytaj jak ma wyglądac IF ELSE
set4812
nospor ja tu błedy w składni nie widze
nospor
dlatego poraz ostatni ci powtarzam:
WLACZ wyswietlanie wszystkich bledow a zobaczysz.
set4812
nospor widze bład tylko jak go naprawic, przy zapytaniu nie podaje mi do jakiej tabeli mi podać
  1. $db = new mysqli('localhost', 'root', '', 'relacje');
  2. if(!isset($_POST['szukaj'])){
  3. echo '<center><form action="index.php?id=formularz" method="post">
  4. <font color="red"><B> Nazwa tabeli</B></font><input type="text" name="nb" size="15"><br/>
  5. <input type="submit" value="Pokaż" name="szukaj" ></form></center>';
  6. }
  7. else {
  8. $result = $db->query('SELECT * FROM '.$_POST['nb'].'');
  9. while ($row = $result->fetch_assoc()){
  10. echo $row['imie']." ".$row['nazwisko']; echo ' <a href="index.php?id=usun&num='.$row['id'].'&baza='.$_POST['nb'].'">usun</a><a href="index.php?id=zmien&num='.$_POST['nb'].'&imie='.$row['imie'].'&nazwisko='.$row['nazwisko'].'">ZMien</a><br/>';
  11. }}
  12. if(!isset($_POST['dodaj']) and isset($_POST['nb'])){
  13. echo '<center><form action="index.php?id=formularz" method="post">
  14. <font color="red"><B>Imie</B></font><input type="text" name="im" size="15"><br/>
  15. <font color="red"><B>Nazwisko</B></font><input type="text" name="na" size="15"><br/>
  16. <input type="submit" value="Pokaż" name="dodaj" ></form></center>';
  17. }
  18. else {
  19. $query='INSERT INTO '.$_POST['nb'].' (imie,nazwisko) VALUES (\''.$_POST['im'].'\',\''.$_POST['na'].'\')';
  20. echo $query;
  21. }
nospor
Robiąc formularz DODAJ nie przekazujesz dalej NB więc ją tracisz - proste. INformuje Cię o tym NOTICE po wykonaniu dodania. Zauwzyles ten NOTICE?
set4812
własnie nie widze notica tongue.gif
nospor
No to zamykam temat bo nie właczyles wyswietlania wszystkich błedów o co prosilem cie kilka razy.
Gdy raczysz spelnic moją prosbe to zapraszam na PW - nie będę milion razy prosil smile.gif

edit: otwieram
set4812
Kod
Notice: Undefined index: nb in C:\xampp\htdocs\Prace\formularz.php on line 8

Notice: Undefined index: nb in C:\xampp\htdocs\Prace\formularz.php on line 24

Notice: Undefined index: im in C:\xampp\htdocs\Prace\formularz.php on line 24

Notice: Undefined index: na in C:\xampp\htdocs\Prace\formularz.php on line 24
INSERT INTO (imie,nazwisko) VALUES ('','')


Wszystkie notice i zapytanie inserta przy dodawaniu mam tylko niezdeklarowane nb jak je przemycic z pierwszego forma do 2 w najbardziej optymalny sposób
nospor
W ostatnim formie utworz pole hidden o nazwie nb i do niego włóż nb ktore otrzymales z wczesniejszego forma
set4812
Aktualny formularz 2 nadal nie przekazuje zmiennej
  1. echo '<center><form action="index.php?id=formularz" method="post">
  2. <font color="red"><B>Imie</B></font><input type="text" name="im" size="15"><br/>
  3. <font color="red"><B>Nazwisko</B></font><input type="text" name="na" size="15"><br/>
  4. <input type="hidden" name="nb value="'.$_POST['nb'].'" />
  5.  
  6. <input type="submit" value="Pokaż" name="dodaj" ></form></center>';
  7. }
nospor
Przyjrzyj sie tej linii UWAZNIE
<input type="hidden" name="nb value="'.$_POST['nb'].'" />
i znajdz jeden banalny blad.
set4812
No dobra nb działa ale teraz nie dodaje do bazy
Kod
INSERT INTO nauczyciele (imie,nazwisko) VALUES ('DUpa','Wołowa')

Tak wyglada dodawanie do bazy danych według wyswietlenia query.
Cały kod
  1. <?php
  2.  
  3.  
  4. ini_set('display_errors','1');
  5. $db = new mysqli('localhost', 'root', '', 'relacje');
  6. if(!isset($_POST['szukaj'])){
  7. echo '<center><form action="index.php?id=formularz&nb="'.$_POST['nb'].'" method="post">
  8. <font color="red"><B> Nazwa tabeli</B></font><input type="text" name="nb" size="15"><br/>
  9. <input type="submit" value="Pokaż" name="szukaj" ></form></center>';
  10. }
  11. else {
  12. $result = $db->query('SELECT * FROM '.$_POST['nb'].'');
  13. while ($row = $result->fetch_assoc()){
  14. echo $row['imie']." ".$row['nazwisko']; echo ' <a href="index.php?id=usun&num='.$row['id'].'&baza='.$_POST['nb'].'">usun</a><a href="index.php?id=zmien&num='.$_POST['nb'].'&imie='.$row['imie'].'&nazwisko='.$row['nazwisko'].'">ZMien</a><br/>';
  15. }}
  16. if(!isset($_POST['dodaj']) and isset($_POST['nb'])){
  17. echo '<center><form action="index.php?id=formularz" method="post">
  18. <font color="red"><B>Imie</B></font><input type="text" name="im" size="15"><br/>
  19. <font color="red"><B>Nazwisko</B></font><input type="text" name="na" size="15"><br/>
  20. <input type="hidden" name="nb" value="'.$_POST['nb'].'">
  21.  
  22. <input type="submit" value="Pokaż" name="dodaj" ></form></center>';
  23. }
  24. else {
  25. $query=$db->query=('INSERT INTO '.$_POST['nb'].' (imie,nazwisko) VALUES (\''.$_POST['im'].'\',\''.$_POST['na'].'\')');
  26. echo $query;
  27. }
  28. ?>
nospor
rety... z każdą pierdułą tak bedziesz biegał? Nie mozesz przyjrzec sie najpierw sam 5 minut na kod zanim na forum polecisz?
$query=$db->query=('INSERT INTO '.$_POST['nb'].' (imie,nazwisko) VALUES (\''.$_POST['im'].'\',\''.$_POST['na'].'\')');
Tym razem w tym kodzie poszukaj co powinno zniknać tongue.gif
set4812
nospor mi juz oczy bola od 5h godzin specjalizacji i pisania daj poprawny kod
nospor
a mnie oczy bolą od Twoich postów winksmiley.jpg
A daj to sprzedawca jaj tongue.gif

Dobra, zawęzamy zakres poszukiwan
$query=$db->query=('INSERT
czegos tu masz za duzo. To jest pare znaków, nie widziwiaj wiec ze nie mozesz znaleźć
set4812
= zabrałem tongue.gif ale nastepnych znaków nie widze nastepna jakas podopowiedz??
nospor
a co, jeszcze jakis blad?
No to pokaz jeszcze raz kod po poprawkach, pokaz co sie wyswietla.
pamietaj ze blad zapytania
to $db->error smile.gif
set4812
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 '�owa)' at line 1

Jezeli z polskim znakami tongue.gif
a jak nazwisko bez polskich znaków
Kod
Unknown column 'DUpa' in 'field list'
nospor
no ale tekst w mysql wklada się pomiędzy apostrofy. Komunikat co podales sugeruje ze tego nie zrobiles. Zmieniasz ten swoj kod z kazdym postem, nic dziwnego ze sam sie gubisz :/
set4812
nospor dzieki biggrin.gif zamykaj temata tongue.gif:P:P
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.