Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > Przedszkole
NetJaro
Takiego błędu jeszcze nie miałem i nie mam pojęcia, co jest źle... szukałem, ale to nic nie pomogło...

  1. <?php
  2. @mysql_query("INSERT INTO seel_points VALUES ('' ,$punkty, $_POST[cena], $_SESSION[username], $data, ''") or die('Błąd w zapytaniu - skontaktuj się z Administratorem. Błąd: '.mysql_error().' 2');
  3. ?>


Jak powinno wyglądac dobrze skonstruowane zapytanie?
Dzięki, pozdrawiam.

Błąd:

Cytat
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 '' at line 1
mike
Cytat
Takiego błędu jeszcze nie miałem (...)
To może go podasz, cz masz nas za Jasnowidzów tongue.gif

Zanim wykonasz zapytanie, wyświetl sobie jest treść.
Może któraś ze zmiennych $punkty, $_POST[cena], $_SESSION[username], $datanie najzwyklej w świecie nieistnieje winksmiley.jpg
Ociu
  1. <?php
  2. mysql_query("INSERT INTO seel_points VALUES ('' ,'".$punkty."', '".$_POST['cena']."', '".$_SESSION['username']."', '".$data."', ''") or die('Błąd w zapytaniu - skontaktuj się z Administratorem. Błąd: '.mysql_error().' 2');
  3. ?>
NetJaro
OK, napisałem już jaki błąd smile.gif
@Ociu, nadal jest błąd ten co poniżej.


Cytat
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 '' at line 1


Aha, jak wyświetlam zapytanie to pojawia się dobrze:

Cytat
INSERT INTO seel_points VALUES ('' ,'2', '1212', 'netjaro', '16:38:04 | 30-10-2005', ''
Sabistik
Sproboj moze w takiej formie:
  1. INSERT
  2. INTO pracownicy (imie, nazwisko) VALUES ('Izabela', 'Kwiatkowska');
marast78
Cytat
Aha, jak wyświetlam zapytanie to pojawia się dobrze:

INSERT INTO seel_points VALUES ('' ,'2', '1212', 'netjaro', '16:38:04 | 30-10-2005', ''


hm dobrze?? a gdzie nawias zamykający??

  1. INSERT
  2. INTO seel_points VALUES ('' ,'2', '1212', 'netjaro', '16:38:04 | 30-10-2005', '')
teraz jest dobrze
i nakońcu coś takiego '' " -> może to to?
NetJaro
Dobra, a jak będzie to wyglądało w kodzie php + z moimi zmiennymi?
ghostrider
Cytat(NetJaro @ 2005-10-30 15:27:15)
Cytat
INSERT INTO seel_points VALUES ('' ,'2', '1212', 'netjaro', '16:38:04 | 30-10-2005', ''

jesli tak ci sie wyswietla to sie zle wyswietla, po dacie masz przecinek i brakuje nawiasu zamykajacego winksmiley.jpg

  1. <?php
  2. $sql = sprintf ("INSERT INTO seel_points VALUES ('' ,'%s','%.02f', '%s','%s', '' ", $punkty, $_POST['cena'], $_SESSION['username'], $data );
  3. ?>


i jabym tam tak odrazu zmiennych $_POST nie pchał do bazy, cholera wie co sie trafi ....
NetJaro
No, wywowałem do mysql_query to co napisałeś i nadal błąd:

Cytat
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 '' at line 1


Daję strukture bazy:
  1. CREATE TABLE `seel_points` (
  2. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `punkty` int(20) NOT NULL DEFAULT '0',
  4. `koszt` int(20) NOT NULL DEFAULT '0',
  5. `nick` varchar(20) NOT NULL DEFAULT '',
  6. `data` varchar(20) NOT NULL DEFAULT '',
  7. `sprzedane` varchar(20) DEFAULT NULL,
  8. PRIMARY KEY (`id`),
  9. UNIQUE KEY `id` (`id`)
  10. ) TYPE=MyISAM AUTO_INCREMENT=1 ;
ghostrider
Najpierw pisze ze nawiasów nie zamykasz a potem sam to robie .... ehh
wstyd

  1. <?php
  2. $sql = sprintf ("INSERT INTO seel_points VALUES ('' ,'%s','%d', '%s','%s', '' )", $punkty, $_POST['cena'], $_SESSION['username'], $data );
  3. ?>




ten sprawdziłem na twojej tabeli i dziala, tylko pole data masz za krotkie,

Cytat
16:38:04 | 30-10-2005

to 21 zanczów, a data miesci tylko 20 ( VARCHAR(20) )
i troche ci przytnie ... ale poprawa tego to juz chyba nie problem

.... nudzi mi się dzisiaj strasznie .... winksmiley.jpg
NetJaro
Dzięki, działa!

Pozdro
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.