Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z update mysql, Błąd z którym nie potrafie sobie poradzić...
ravikw
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.10.2007

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


Witam
W php staram się działąć od święta ..także jeśli problem jest błachy proszę o wyrozumiałość.
A więc wymyśliłem sobie dynamiczny formularz, parametry "name" pobiera sobie z bazy....ok 50 rekordów.
teraz jestem na etapie odbierania danych z inputów poprzez $_POST. Tworzy mi tablicę asocjacyjną i próbuje w pętli updatować do bazy.
Jednak wywala mi cały czas płąd odnośnie Where i daty tam zawartej ....... Myślę że to jakaś błochostka ale nie mogę znaleść rozwiązani... (IMG:style_emoticons/default/sad.gif)

  1.  
  2. $data='2012-12';
  3.  
  4. if($_POST ){
  5.  
  6. foreach ($_POST as $nazwa => $ilosc)
  7. {
  8.  
  9. $sql = "UPDATE ".$sfid."_plany_1 set".$nazwa."=".$ilosc."WHERE miesiac=".$data;
  10. $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
  11.  
  12. }
  13.  
  14. }
  15.  
  16.  
  17.  
  18.  


Nadmienie że napewno w bazie jest jerden rekord '2012-12' w tabeli "miesiac"... a błąd jaki mi wyświetla :"Something is wrong in your syntax obok '=WHERE miesiac=2012-12' w linii 1"


Za wszelkie podpowiedzi i sugestie dziekuje...

Ten post edytował ravikw 29.10.2012, 11:57:43
Go to the top of the page
+Quote Post
Lion_87
post
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Zrób echo $sql w forech, pomiń wykonanie zapytania i zobacz co Ci wyświetli.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Zapytanie jest źle skonstruowane.

  1. $sql = "UPDATE {$sfid}_plany_1 set {$nazwa}='{$ilosc}' WHERE miesiac='{$data}'";


np. po set brakowało spacji, brakuje objęcia w apostrofy zmiennych, jest to obowiązkowe.
Go to the top of the page
+Quote Post
ravikw
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.10.2007

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


[b4rt3kk] dziękuje (IMG:style_emoticons/default/smile.gif) pomoglo (IMG:style_emoticons/default/smile.gif) życze wszystkim miłego dnia i do następnego...
Temat do zamknięcia...





Witam ponownie mam zapytanko...dokładnie taka sama sytuacja jak wcześniej Update zrobione jak w podpowiedzi kolegi wyżej .... a jednak dalej taki sam błąd.... czym się różnią te UPDATE (IMG:style_emoticons/default/questionmark.gif) ?


  1. if($_POST ){
  2.  
  3. foreach ($_POST as $nazwa => $wartosc)
  4. { $parametr=explode("_", $nazwa);
  5.  
  6. $sql = "UPDATE {$sfid}_grafik set {$parametr[1]}='{$wartosc}' WHERE rok='{$_POST['rok']}' AND miesiac='{$_POST['miesiac']}'AND nazwa='{$parametr[0]}'";
  7. $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
  8.  
  9. }
  10.  
  11. }
  12.  



a błąd
  1. Something is wrong in your syntax obok '1='400' WHERE rok='2012' AND miesiac='11'AND nazwa='Kowalski'' w linii 1


gdy sprawdzam
  1. echo $sql;
w wyniku otrzymuje
  1. UPDATE 2000_grafik set 1='5555' WHERE rok='2012' AND miesiac='11' AND nazwa='Kowalski'
  2. ........i kolejne update o takim szablonie


Może ktoś podpowie co może być źle (IMG:style_emoticons/default/questionmark.gif) ?

Ten post edytował ravikw 3.11.2012, 19:40:29
Go to the top of the page
+Quote Post
Wazniak96
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


$sql = "UPDATE {$sfid}_grafik set {$parametr[1]}='{$wartosc}' WHERE rok='{$_POST[rok]}' AND miesiac='{$_POST['miesiac']}'AND nazwa='{$parametr[0]}'";

Dajesz tablicę między apostrofami i index tez dajesz między apostrofami, stąd ten problem.
Go to the top of the page
+Quote Post
ravikw
post
Post #6





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 10.10.2007

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


jak zrobie:
  1. $sql = "UPDATE {$sfid}_grafik set {$parametr[1]}='{$wartosc}' WHERE rok='{$_POST[rok]}' AND miesiac='{$_POST[miesiac]}' AND nazwa='{$parametr[0]}'";


oraz gdy z tablic też wykasuje apostrofy ...dostaje ten sam błąd... (IMG:style_emoticons/default/sad.gif)
EDIT:
Znalazłem (IMG:style_emoticons/default/smile.gif) brakowało "`"

poprawnie
  1. $sql = "UPDATE `{$sfid}_grafik` set `{$parametr[1]}`='{$wartosc}' WHERE `rok`='{$_POST[rok]}' AND `miesiac`='{$_POST[miesiac]}' AND `nazwa`='{$parametr[0]}'";


Ten post edytował ravikw 3.11.2012, 22:16:51
Go to the top of the page
+Quote Post

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: 22.08.2025 - 17:49