Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Niedziałające zapytanie SQL
zurek
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Kraków

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


Od jakiegoś czasu borykam się z problemem, co jest nie tak w tym kodzie? Zapytanie nie może być zrealizowane i nie wiem dlaczego.

  1. <?php
  2. $kolumna = nazwa;
  3. $query="UPDATE tabela SET $kolumna='imie' WHERE user='user'";
  4. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Nazwa kolumny to string wiec gdzie jest '' lub ""

Ten post edytował marcio 23.02.2008, 18:05:51
Go to the top of the page
+Quote Post
l0ud
post
Post #3





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


  1. <?php
  2. $kolumna = 'nazwa';
  3. ?>


Podstawa podstawy, czyli przypisywanie zawartości dla zmiennych w php...
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Na forum znajdziesz dużo przykład, jak się tworzy podobne zapytania UPDATE. Wyszukiwarka dostępna jest.
Go to the top of the page
+Quote Post
Lejto
post
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


daj
  1. <?php
  2. if(!$query)
  3. {
  4. echo 'Błąd MySQL <br>';
  5.  echo mysql_errno() . ": " . mysql_error(). "\n"; 
  6. }
  7. ?>

i napisz jaki wywala błąd
Go to the top of the page
+Quote Post
luniak
post
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Po pierwsze
  1. <?php
  2. $kolumna = 'nazwa';
  3. ?>


Po drugie
  1. <?php
  2. $query="UPDATE tabela SET ".$kolumna."='imie' WHERE user='user'";
  3. ?>


i po trzecie
  1. <?php
  2. mysql_query($query);
  3. ?>

Trzeba przecież to zapytanie wywołać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
empuszek
post
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 2
Dołączył: 29.12.2006
Skąd: Polska, gliwice

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


a oto poprawny kod:

  1. <?php
  2. $link = mysql_connect([server], [login], [haslo]);
  3. mysql_select_db("[baza_danych]");
  4.  
  5. $kolumna = "nazwa";
  6. $query="UPDATE tabela SET ".$kolumna."='imie' WHERE user='user'";
  7. $result = mysql_query ($query);
  8.  
  9. mysql_close($link);
  10. ?>

Pisz jeśli czegoś nie rozumiesz (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

HuRiN
Go to the top of the page
+Quote Post
Lejto
post
Post #8





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


(IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) co za brak uwagi z mojej strony zobaczyłem $query i już myślałem że wywołało (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
zurek
post
Post #9





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Kraków

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


A jakby trzeba było odebrać wartość zmiennej $kolumna z adresu w następujący sposób?

  1. <?php
  2. <input type="hidden" name="kolumna" value="' . $kolumna . '" />
  3. ?>


Wtedy ten skrypt nie chce działać:(

Dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował zurek 23.02.2008, 19:16:10
Go to the top of the page
+Quote Post
potreb
post
Post #10





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


A gdzie echo?
  1. <?php
  2. echo '<input type="hidden" name="kolumna" value="' . $kolumna . '" />';
  3. ?>


Jak wysyłasz dane przez get stosuj $_GET['kolumna'] lub przez post $_POST['kolumna'].
To tak na przyszłość.
Go to the top of the page
+Quote Post
zurek
post
Post #11





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Kraków

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


Wiem, zazwyczaj robię tak, że odbieram na wszelki wypadek i przez GET i przez POST:

  1. <?php
  2. if(isset($_GET['kolumna'])){
  3. $kolumna = $_GET['kolumna'];
  4. }
  5. else if(isset($_POST['kolumna'])){
  6. $kolumna = $_POST['kolumna'];
  7. }
  8. ?>


Tylko później jak daję zapytanie:

  1. <?php
  2. $query = "UPDATE tabela SET ".$kolumna."=$value WHERE user=$user";
  3. $result = mysql_query($query);
  4. if($result){
  5. print "Udało się!";
  6. }
  7. else{
  8. print "Nie udało się!";
  9. }
  10. ?>


Cały czas wyświetla się "Nie udało się!":(

Ten post edytował zurek 23.02.2008, 19:35:01
Go to the top of the page
+Quote Post
Lejto
post
Post #12





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


pisze daj zamiast Nie udało się
  1. <?php
  2. echo mysql_errno() . ": " . mysql_error(). "\n";
  3. ?>

to wyświetli błędy
Go to the top of the page
+Quote Post
marcio
post
Post #13





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Bo masz zle zapytanie i mysql_query
  1. <?php
  2. $query = ('UPDATE tabela SET '.$kolumna.'='.$value.' WHERE user="'.$user.'"');
  3. $result = mysql_query($query, $resource_z_polaczenia);
  4. if($result){
  5. print "Udało się!";
  6. }
  7. else{
  8. print "Nie udało się!";
  9. }
  10. ?>

A jak robisz forma to masz atrubut method wiec jak go ustawiasz na post to ma byc post a nie obydwa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował marcio 23.02.2008, 19:38:24
Go to the top of the page
+Quote Post
zurek
post
Post #14





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 4.09.2007
Skąd: Kraków

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


Zrobiłem to co Lejto proponował i wywala mi błąd:

  1. 1054: Nieznana kolumna 'zurek' w FIELD list


Ten post edytował zurek 23.02.2008, 19:46:50
Go to the top of the page
+Quote Post
potreb
post
Post #15





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


TZN ze taka kolumna nie istnieje!
  1. <?php
  2. $query = ("UPDATE tabela SET $kolumna='".$value."' WHERE user='".$user."' ");
  3. ?>


Popraw na to zapytanie.

Edit:
Teraz okey.

Ten post edytował potreb 23.02.2008, 21:36:41
Go to the top of the page
+Quote Post
marcio
post
Post #16





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Zapytanie ktore podalem jest dobre zmienna $kolumna tez musi byc w '' z .. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
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: 23.08.2025 - 17:33