Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie reokordu do bazy blad
kingofspace
post
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


witam próbuje zrobić prosty skrypt który by dodawał do bazy rekord z danymi pobranymi ze zmiennych

taką mam strukturę tabeli w bazie
  1. --
  2. -- Struktura tabeli dla `Zamowienia`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `Zamowienia` (
  6. `Id` int(11) NOT NULL AUTO_INCREMENT,
  7. `UsersId` varchar(25) NOT NULL,
  8. `Game` varchar(25) NOT NULL,
  9. `Typ` varchar(25) NOT NULL,
  10. `Slot` varchar(25) NOT NULL,
  11. `Lokacja` varchar(25) NOT NULL,
  12. `datestart` date NOT NULL,
  13. `dateend` date NOT NULL,
  14. `status` varchar(25) NOT NULL,
  15. PRIMARY KEY (`Id`)
  16. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
  17.  
  18. --


tresc skryptu jest taka

  1. <?php
  2. require "include/lay.php";
  3. headstr("Rejestracja");
  4.  
  5. //polaczenie z baza danych
  6. if (!$db_lnk = @mysql_connect("myssdfgdsfg3306", "adgadgce", "adgadgag7"))
  7. {
  8. echo('Wystapil blad podczas proby polaczenia z serwerem MYSQL...');
  9. return SERVER_ERROR;
  10. }
  11. if(!mysql_select_db('sfdgfa_pl'))
  12. {
  13. echo('Wystapil blad podczas wyboru bazy danych: testy...');
  14. return SERVER_ERROR;
  15. }
  16. ?>
  17.  
  18. <div class="n">
  19. <div class="nt">
  20. <h1>Zarejestruj się</h1>
  21. </div>
  22. <?php
  23. $lokacja = $_GET["lokacja"];
  24. $gra = $_GET["gra"];
  25. $typ = $_GET["typ"];
  26. $sloty = $_GET["sloty"];
  27. $okres = $_GET["okresik"];
  28. $cena = $_GET["cenakoncowa"];
  29. ?>
  30.  
  31.  
  32.  
  33. <?php
  34. $Userid= $_SESSION["UserId"];
  35. ?>
  36.  
  37. <?php
  38. $query = "INSERT INTO `Zamowienia` (`id`, `UsersId`, `Game`, `Typ`, `Slot`, `Lokacja`, `datestart`, `dateend`, `status`) VALUES ('', '$Userid', '$gra', '$typ', '$sloty', '$lokacja', '2008-12-15', '2009-12-16', 'Nie opłacone')";
  39.  
  40. $result = mysql_query("$query");
  41.  
  42.  
  43. ?>
  44. <?php
  45. echo(Zamówienie zostalo złożone proimy je oplacic przez panel usera.);
  46. ?>
  47.  
  48. <div class="nb"><br /> <div><a href="#"><br /></a></div></div>
  49. </div>
  50. </div>
  51.  
  52. <?php
  53. footstr();
  54. ?>
  55.  



treść błędu

Parse error: syntax error, unexpected T_STRING in /var/www/virtual/kingofspace.cba.pl/addzamowienie.php on line 47

Ten post edytował kingofspace 16.11.2009, 12:37:17
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


No fajnie i co? Gdzie błąd? Co się dzieje?
Go to the top of the page
+Quote Post
kingofspace
post
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


Z tym błędem sobie poradziłem naprawiłem. i działa dodanie rekordu do bazy
teraz chciałem zamiast daty podanej w zapytaniu dac aktualna date w formacie YYYY-MM-DD i potem zapisac do jakiejs zmiennej datę np 3 miesiące w przód
Go to the top of the page
+Quote Post
piotr94
post
Post #4





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


a może byś przeczytał co Ci PHP mówi i przeanalizował linijkę 47??
nie wypadałoby dodać tam cudzysłowów??
  1. echo('Zamówienie zostało złożone prosimy je opłacić przez panel usera.');

PS, ortografia nie boli (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
kingofspace
post
Post #5





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


no właśnie pisząc 1 posta to dostrzegłem (IMG:style_emoticons/default/haha.gif)

ortografia nie boli ale pisze ten skrypt na szybko i jakoś tak wyszło

Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
teraz chciałem zamiast daty podanej w zapytaniu dac aktualna date w formacie YYYY-MM-DD


  1. echo date("Y-m-d");


Cytat
i potem zapisac do jakiejs zmiennej datę np 3 miesiące w przód


  1. $jakas_zmienna = date("Y-m-d",mktime(0, 0, 0, date("m")+3, date("d"), date("Y")));


Ten post edytował darko 16.11.2009, 12:54:33
Go to the top of the page
+Quote Post
phpion
post
Post #7





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(darko @ 16.11.2009, 13:53:53 ) *
  1. $jakas_zmienna = date("Y-m-d",mktime(0, 0, 0, date("m")+3, date("d"), date("Y")));

Prościej i jaśniej chyba w ten sposób:
  1. $jakas_zmienna = date('Y-m-d', strtotime('+3 months'));
Go to the top of the page
+Quote Post
kingofspace
post
Post #8





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


Mam pytanko kolejne mam w bazie rekord pobrałem go po Id i muszę go wyświetlić jak go wyświetlić w tabelce?
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


może prymitywnie:
  1. // tablica
  2. $dane_rekordu;
  3. echo "<table border=\"1\"><tr>";
  4. foreach($dane_rekordu as $dane) {
  5. echo "<td>$dane</td>";
  6. }
  7. echo "</tr></table>";
Go to the top of the page
+Quote Post
kingofspace
post
Post #10





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


a jak bede mial pobrane duuzo rekordów?
mam takie zapytanie i spodziewam sie duzej liczby rekordów tego typu
  1. $query = "SELECT Id UsersId Game Typ Slot Lokacja datestart FROM Zamowienia WHERE status=Nie oplacone";


i mi pobierze jakies 30 rekordow potrzebuje to podzielic na x stronna ktorej bedzie maks 10 rekordow i w jakiejs table zeby to wyswietlilo
Go to the top of the page
+Quote Post
darko
post
Post #11





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


to użyj paginacji, sortowania i grupowania wyników zarówno w zapytaniach do bazy ( SELECT ... order by cos_tam asc limit 20 ) jak w tabelce (nawet na tym forum korzystamy z paginacji przeglądając posty w danym dziale)
Go to the top of the page
+Quote Post
kingofspace
post
Post #12





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


  1. SELECT Id, UsersId, Game, Typ, Slot, Lokacja, datestart, FROM Zamowienia WHERE STATUS=Nie oplacone


Czy to zapytanie do bazy ma prawo zadziałać bo mam jakiś błąd;/

jak wrzuciłem je do pma to wyskoczyło

#1064 - 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 'FROM Zamowienia WHERE status=Nie oplacone LIMIT 0, 30' at line 1
Go to the top of the page
+Quote Post
danny
post
Post #13





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


Albo tak: http://forum.php.pl/index.php?showtopic=35498 ,albo recznie.

Sprobuj: ='Nie oplacone'

Ten post edytował danny 16.11.2009, 13:33:17
Go to the top of the page
+Quote Post
kingofspace
post
Post #14





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $query = "SELECT 'Id', 'UsersId', 'Game', 'Typ', 'Slot', 'Lokacja', 'datestart', FROM 'Zamowienia' WHERE 'status'='Nie oplacone'";
  3. $result=mysql_query($query);
  4. print_r($result);
  5.  
  6. ?>


Teraz mam taki kod i nic nie dodaje do zmiennej results w bazie mam tylko jeden rekord
Go to the top of the page
+Quote Post
danny
post
Post #15





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


Hm, moze zastap ' ' na ` `. Nie mam innych pomysłow. Czy status w bazie rzeczywiscie przyjmuje stan `Nie oplacone`? (IMG:style_emoticons/default/snitch.gif)

Ten post edytował danny 16.11.2009, 13:41:37
Go to the top of the page
+Quote Post
darko
post
Post #16





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


usuń przecinek po 'datestart' a przed FROM

spróbuj tak:

  1. $query = "SELECT Id, UsersId, Game, Typ, Slot, Lokacja, datestart FROM Zamowienia WHERE status like 'Nie oplacone'";




Ten post edytował darko 16.11.2009, 13:46:39
Go to the top of the page
+Quote Post
kingofspace
post
Post #17





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


niestety nie pomogło (IMG:style_emoticons/default/sciana.gif) nic ide do lekarza jak przyjdę się pomęczę;] może ktoś coś odpisze

usunołem przecinek i coś drgnęło

dla zapytania
  1. SELECT `Id`, `UsersId`, `Game`, `Typ`, `Slot`, `Lokacja`, `datestart` FROM `Zamowienia` WHERE `status`=`Nie oplacone`


wyskoczyl blad

#1054 - Unknown column 'Nie oplacone' in 'where clause'
Go to the top of the page
+Quote Post
darko
post
Post #18





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


kingofspace przeczytaj mój post powyżej Twojego (po edycji)
Go to the top of the page
+Quote Post
kingofspace
post
Post #19





Grupa: Zarejestrowani
Postów: 141
Pomógł: 4
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


ja usunolem ten przecinek właśnie po usunięciu jego wyskoczył nowy bład
Go to the top of the page
+Quote Post
danny
post
Post #20





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.11.2009

Ostrzeżenie: (0%)
-----


TO pozostaje jedno z 2. Albo musisz wyselectowac rowniez `status`, albo pokombinowac z `` przy Nie oplacone.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:33