Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z dodaniem do bazy
Forum PHP.pl > Forum > Przedszkole
mihipoznan
Kod:
  1. <?
  2. require("connection.php");
  3. connection();
  4. $login = $_POST['login'];
  5. $imie = $_POST['imie'];
  6. $email = $_POST['email'];
  7. $woj = $_POST['woj'];
  8. $rodzaj = $_POST['rodzaj'];
  9. $ilosc = $_POST['ilosc'];
  10. $tel = $_POST['tel'];
  11. $cena = $_POST['cena'];
  12. $opis = $_POST['opis'];
  13. $gg = $_POST['gg'];
  14. $skype = $_POST['skype'];
  15. $typ = $_POST['typ'];
  16. $name = $_POST ['name'];
  17. $drugi = $_POST['drugi'];
  18. $pierwszy = $_POST['pierwszy'];
  19. $drugi = $_POST['drugi'];
  20. $pierwszy = $_POST['pierwszy'];
  21. if($_POST['pierwszy'] == $_POST['drugi']) { 
  22.  $sql = "pierwszy='".$_POST['pierwszy']."'";
  23. }else{
  24. $sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'"; 
  25. }
  26. $dodaj = "INSERT INTO $tabela SET 
  27. firma='".$HTTP_SESSION_VARS['login']."',
  28. ".$sql.",
  29. opis='".$opis."', 
  30. ilosc='".$ilosc."', 
  31. cena='".$cena."', 
  32. gg='".$gg."', 
  33. skype='".$skype."', 
  34. tel='".$tel."', 
  35. imie='".$HTTP_SESSION_VARS['imie']."', 
  36. email='".$HTTP_SESSION_VARS['email']."', 
  37. woj='".$HTTP_SESSION_VARS['woj']."', 
  38.  link_obrazek='".$HTTP_SESSION_VARS['name']."', 
  39. ip='".$ip."'"; 
  40.  
  41. mysql_query($dodaj) or die('Błąd: ' . mysql_error() . ' - ZAPYTANIE: ' . $dodaj); 
  42. if( $dodaj )
  43. {
  44. echo ("<b>Twoja oferta zostaĹ‚a dodana :)</b><br>Kliknij 'oferty' aby przejsć do wykazu ofert");
  45. } 
  46. else 
  47. {
  48. echo (mysql_error()."Błąd nie udaĹ‚o siÄ™ dodać nowej oferty. Prosimy o kontakt na adres: mihipoznan@gmail.com");
  49. }
  50. ?>


I wyskakuje :
  1. <?php
  2. Błąd: 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 'SET firma='Przykładowa', pierwszy='śruta', drugi='rzepakowa', ' at line 1 - ZAPYTANIE: INSERT INTO SET firma='Przykładowa', pierwszy='śruta', drugi='rzepakowa', opis='sdf', ilosc='dfg', cena='sdf', gg='sd', skype='sdfd', tel='dsf', imie='Michał Majos', email='mihipoznan@gmail.com', woj='Wielkopolskie', link_obrazek='', ip='10.4.0.69'
  3. ?>

wie ktoś z jaką zmienną jest problem ?
marcio
  1. <?php
  2. $dodaj = "INSERT INTO $tabela SET 
  3. firma='".$HTTP_SESSION_VARS['login']."',
  4. ".$sql.",
  5. opis='".$opis."', 
  6. ilosc='".$ilosc."', 
  7. cena='".$cena."', 
  8. gg='".$gg."', 
  9. skype='".$skype."', 
  10. tel='".$tel."', 
  11. imie='".$HTTP_SESSION_VARS['imie']."', 
  12. email='".$HTTP_SESSION_VARS['email']."', 
  13. woj='".$HTTP_SESSION_VARS['woj']."', 
  14.  link_obrazek='".$HTTP_SESSION_VARS['name']."', 
  15. ip='".$ip."'";
  16. ?>

Po pierwsze set uzywa sie w update to raz a dwa po co sie bawisz z jakimis ' i " robisz cos takiego
  1. <?php
  2. if(mysql_query("insert into tabela(kolumna1,kolumna2) values('$wartosc1', '$wartosc2')")) echo('OK');
  3. else echo('COs jest zle');
  4. ?>

Zobacz do manuala pod insert into
mihipoznan
No tak ale zmienna $sql w tym przypadku może być albo w jednej kolumnie albo drugiej.. to napisać obie i jedna będzie pusta ?
marcio
Cytat(mihipoznan @ 15.06.2008, 12:27:24 ) *
No tak ale zmienna $sql w tym przypadku może być albo w jednej kolumnie albo drugiej.. to napisać obie i jedna będzie pusta ?

Nie rozumiem cie??
mihipoznan
Mam tak:
  1. <?
  2. require("connection.php");
  3. connection();
  4. $login = $_POST['login'];
  5. $imie = $_POST['imie'];
  6. $email = $_POST['email'];
  7. $woj = $_POST['woj'];
  8. $rodzaj = $_POST['rodzaj'];
  9. $ilosc = $_POST['ilosc'];
  10. $tel = $_POST['tel'];
  11. $cena = $_POST['cena'];
  12. $opis = $_POST['opis'];
  13. $gg = $_POST['gg'];
  14. $skype = $_POST['skype'];
  15. $typ = $_POST['typ'];
  16. $name = $_POST ['name'];
  17. $drugi = $_POST['drugi'];
  18. $pierwszy = $_POST['pierwszy'];
  19. $drugi = $_POST['drugi'];
  20. $pierwszy = $_POST['pierwszy'];
  21. if($_POST['pierwszy'] == $_POST['drugi']) { 
  22.  $sql = "pierwszy='".$_POST['pierwszy']."'";
  23. }else{
  24. $sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'"; 
  25. }
  26. $dodaj = "INSERT INTO $tabela (firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj
    , link_obrazek, ip) VALUES ('"
    .$HTTP_SESSION_VARS['login']."', '$sql', '$sql', '$opis', '$ilosc', '$cena', '$gg', '$skype', '$tel', '".$HTTP_SESSION_VARS['imie']."', '".$HTTP_SESSION_VARS['email']."', '".$HTTP_SESSION_VARS['woj']."', '".$HTTP_SESSION_VARS['name']."', '$ip')";
  27. mysql_query($dodaj) or die('Błąd: ' . mysql_error() . ' - ZAPYTANIE: ' . $dodaj); 
  28. if( $dodaj )
  29. {
  30. echo ("<b>Twoja oferta zostaĹ‚a dodana :)</b><br>Kliknij 'oferty' aby przejsć do wykazu ofert");
  31. } 
  32. else 
  33. {
  34. echo (mysql_error()."Błąd nie udaĹ‚o siÄ™ dodać nowej oferty. Prosimy o kontakt na adres: mihipoznan@gmail.com");
  35. }
  36. ?>


I wyskakuje mi błąd:
Kod
        Błąd: 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 '(firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj, li' at line 1 - ZAPYTANIE: INSERT INTO (firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj, link_obrazek, ip) VALUES ('Przykładowa', 'pierwszy='śruta', drugi='rzepakowa'', 'pierwszy='śruta', drugi='rzepakowa'', 'sdf', 'sd', 'df', 'sdf', 'sdf', 'dsf', 'Michał Majos', 'mihipoznan@gmail.com', 'Wielkopolskie', 'obrazki/0731adc982546be.jpg', '10.4.0.69')


A co do
Cytat
No tak ale zmienna $sql w tym przypadku może być albo w jednej kolumnie albo drugiej.. to napisać obie i jedna będzie pusta ?

To chodzi o to:
Kod
if($_POST['pierwszy'] == $_POST['drugi']) {
$sql = "pierwszy='".$_POST['pierwszy']."'";  
}else{  
$sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'";

Jeżeli nazwy dwóch zmiennych są takie same to dodaje tylko wartość z jednej zmiennej smile.gif A jak nie to do dwóch.
marcio
  1. <?php
  2. if($_POST['pierwszy'] == $_POST['drugi']) { 
  3.  $sql = "pierwszy='".$_POST['pierwszy']."'";
  4. $zap = ('insert dla 1 warosci sql');
  5. }else{
  6. $sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'";
  7. $zap = ('inserty dla 2 wartosci sql');
  8. ?>

Zrob tak zapytanie daj w tym warunku i potem je wykonaj smile.gif

P.S rozumiesz??
aa
Popatrz się dokładnie w zapytanie:

drugi='rzepakowa'', 'pierwszy='śruta', drugi='rzepakowa''


Błąd masz podany na tacy, jak nie możesz zlokalizować błędu przekazuję mysql_quey do zmiennej i ją wyświetylaj
mihipoznan
Aaaa rozumiem smile.gif Dzięki biggrin.gif

Kurcze..no ale mam tak i nadal nie działa :/
  1. <?
  2. require("connection.php");
  3. connection();
  4. $login = $_POST['login'];
  5. $imie = $_POST['imie'];
  6. $email = $_POST['email'];
  7. $woj = $_POST['woj'];
  8. $rodzaj = $_POST['rodzaj'];
  9. $ilosc = $_POST['ilosc'];
  10. $tel = $_POST['tel'];
  11. $cena = $_POST['cena'];
  12. $opis = $_POST['opis'];
  13. $gg = $_POST['gg'];
  14. $skype = $_POST['skype'];
  15. $typ = $_POST['typ'];
  16. $name = $_POST ['name'];
  17. $drugi = $_POST['drugi'];
  18. $pierwszy = $_POST['pierwszy'];
  19. $drugi = $_POST['drugi'];
  20. $pierwszy = $_POST['pierwszy'];
  21. if($_POST['pierwszy'] == $_POST['drugi']) { 
  22.  $sql = "pierwszy='".$_POST['pierwszy']."'";
  23. $zap = ("INSERT INTO $tabela (firma, pierwszy, opis, ilosc, cena, gg, skype, tel, imie, email, woj, link_
    obrazek, ip) VALUES ('"
    .$HTTP_SESSION_VARS['login']."', '$pierwszy','$opis', '$ilosc', '$cena', '$gg', '$skype', '$tel', '".$HTTP_SESSION_VARS['imie']."', '".$HTTP_SESSION_VARS['email']."', '".$HTTP_SESSION_VARS['woj']."', '".$HTTP_SESSION_VARS['name']."', '$ip')");
  24. }else{
  25. $sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'";
  26. $zap = ("INSERT INTO $tabela (firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj
    , link_obrazek, ip) VALUES ('"
    .$HTTP_SESSION_VARS['login']."', '$pierwszy', '$drugi', '$opis', '$ilosc', '$cena', '$gg', '$skype', '$tel', '".$HTTP_SESSION_VARS['imie']."', '".$HTTP_SESSION_VARS['email']."', '".$HTTP_SESSION_VARS['woj']."', '".$HTTP_SESSION_VARS['name']."', '$ip')");
  27. }
  28. mysql_query($zap) or die('Błąd: ' . mysql_error() . ' - ZAPYTANIE: ' . $zap); 
  29. if( $zap )
  30. {
  31. echo ("<b>Twoja oferta zostaĹ‚a dodana :)</b><br>Kliknij 'oferty' aby przejsć do wykazu ofert");
  32. } 
  33. else 
  34. {
  35. echo (mysql_error()."Błąd nie udaĹ‚o siÄ™ dodać nowej oferty. Prosimy o kontakt na adres: mihipoznan@gmail.com");
  36. }
  37. ?>
phpion
Zmienna $tabela nie jest ustawiona (lub nie jest widoczna jeśli kod wykonujesz w funkcji). W rezultacie otrzymujesz zapytanie:
  1. INSERT INTO (firma, pierwszy...

Ewidentnie brakuje nazwy tabeli, do której chcesz wstawić rekordy.
mihipoznan
Wyskakuje takie coś:
  1. <?php
  2. Błąd: 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 '(firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj
    , li'
     at line 1 - ZAPYTANIE: INSERT INTO (firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj, link_obrazek, ip) VALUES ('Przykładowa', 'śruta', 'rzepakowa', 'sdf', 'sd', 'df', 'sdf', 'sdf', 'dsf', 'Michał Majos', 'mihipoznan@gmail.com', 'Wielkopolskie', 'obrazki/0731adc982546be.jpg', '10.4.0.69')
  3. ?>
phpion
@mihipoznan:
Patrz mój post powyżej smile.gif
marcio
Czekaj czekaj spruboj tak ale sorki bo wiesz koncze panel admina smile.gif
  1. <?php
  2. if($_POST['pierwszy'] == $_POST['drugi']) { 
  3.  
  4. $pierwszy = $_POST['pierwszy'];
  5. $zap = ("INSERT INTO $tabela(firma, pierwszy, opis, ilosc, cena, gg, skype, tel, imie, email, woj, link_
    obrazek, ip) VALUES ('$_SESSION['login']', '$pierwszy','$opis', '$ilosc', '$cena', '$gg', '$skype', '$tel', '$_SESSION['imie']', '$_SESSION['email']', '$_SESSION['woj']', '$_SESSION['name']', '$ip')"
    );
  6. }
  7. else {
  8.  
  9. $pierwszy = $_POST['pierwszy'];
  10. $drugi = $_POST['drugi'];
  11. $zap = ("INSERT INTO $tabela(firma, pierwszy, drugi, opis, ilosc, cena, gg, skype, tel, imie, email, woj
    , link_obrazek, ip) VALUES ('$_SESSION['login']', '$pierwszy', '$drugi', '$opis', '$ilosc', '$cena', '$gg', '$skype', '$tel', '$_SESSION['imie']', '$_SESSION['email']', '$_SESSION['woj']', '$_SESSION['name']', '$ip')"
    );
  12. }
  13. ?>

Moze cos takiego a gdzie masz zmienna $tabela

P.S @phpion ale takie wybryki chyba tez nie moga byc
  1. <?php
  2. $sql = "pierwszy='".$_POST['pierwszy']."', drugi='".$_POST['drugi']."'";
  3. ?>

smile.gif czy sie myle??

Tym bardziej ze w zapytaniu zmiennej $sql nie ma
mihipoznan
Ale głupota haha.gif Zapomniałem dodać :
  1. <?php
  2. if($_POST['typ'] == 1){
  3. $tabela = "kupno";
  4. }else{
  5. $tabela = "sprzedaz";
  6. ?>

Dzięki biggrin.gif Wszytsko już ok smile.gif

Marcio wiem że powinny byc tablice $_SESSION smile.gif, ale dzięki biggrin.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.