Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Czemu to nie działa?
Forum PHP.pl > Forum > Przedszkole
neptus
Uczę się korzystać z bazy...

Mój pierwszy test:

  1. INSERT INTO `geo_kraje` (`nazwa`, `symbol`, `regiony`) VALUES ('Polska', 'PL', '1'),('Szwecja', 'SV', ''),('Wielka Brytania', 'GB', ''),('Afganistan', 'AF', '');


Odpalone w phpmyadmin wpisuje do bazy 4 rekordy. Tak ma być.
Wklejam to do skryptu PHP...

  1. <?php
  2. $sql="INSERT INTO `geo_kraje` (`nazwa`, `symbol`, `regiony`) VALUES ('Polska', 'PL', '1'),('Szwecja', 'SV', ''),('Wielka Brytania', 'GB', ''),('Afganistan', 'AF', '');";
  3. ?>


Do tablicy nie wpisuje się nic. sadsmiley02.gif
Daje się wyswietlić prawidłowo liczbę rekordów wpisanych do tablicy w phpmyadmin, czyli podłączenie do bazy gra.

Gapię się w to i gapię... Gdzie jest błąd?? Heeeelp!
Zmorcia
  1. <?php
  2. mysql_query("INSERT INTO geo_kraje VALUES ('Polska', 'PL', '1'), ('Szwecja', 'SV', ''), ('Wielka Brytania', 'GB', ''), ('Afganistan', 'AF', '')";
  3. ?>
neptus
Niestety, to działa tak samo, czyli nie działa. sciana.gif
Czy nazwa tablicy jest z apostrofami czy bez, select działa. A to nie.
Zmienna $sql jest mi potrzebna, bo ja ten tekst inserta generuję w pętli. Wkleiłam tu efekt wynikowy ale po wpisaniu bezpośrednio też nic się nie zmienia. I tu jest dobrze, że tak samo nie działa, bo nie powinno to robić żadnej różnicy.
xbigos
Neptus a wystarczy przeczytac.

http://dev.mysql.com/doc/refman/5.0/en/insert.html

@Zmorcia nic nowego nie wymyślił(es/aś) zamiast $sql podstawił(eś/aś) zapytanie
neptus
Nie pisze tam nic więcej, niż w polskich źródłach. Nadal nic nie wiem.
Shili
Dodatkowo taki mały "trick" - warto używać przy problemach z bazą danych.

  1. <?php
  2. mysql_query($sql) or die(mysql_error());
  3. ?>


@down
Pomogłaś ^^
Przycisk pomógł jest pod treścią postu po lewej stronie winksmiley.jpg
Pozdrawiam smile.gif
neptus
Shili, nie widzę, jak Ci mam dać "pomógł"?? Bardzo mi pomogłaś.

Tego "die" nie doczytałam jeszcze, a to jest strzał w dziesiątkę!
Przede wszystkim znalazłam tabun kardynalnych błędów Zmorki, którymi mi zepsuła skrypt. smile.gif Oj, Zmorka-teoretyczka...

Mój insert był ogólnie poprawny. Nie umiał trafić do tablicy. Chociaż jest uprzednio
  1. <?php
  2. mysql_select_db ($db_name);
  3. ?>

a baza jest tylko jedna, drań domaga się wywołania inserta w formie
  1. <?php
  2. INSERT INTO 'nazwa_bazy'.'nazwa_tablicy'...
  3. ?>

Po dopisaniu członu 'nazwa_bazy'. wszystko działa, jak w bajce. yahoo.gif

Wielkie dzięki! <kwiaty><szampan><2 piwa><sznurek praciorków>

- Już znalazłam przycisk i użyłam! smile.gif
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.