Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Niedziałające zapytanie SQL
Forum PHP.pl > Forum > Przedszkole
zurek
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. ?>
marcio
Nazwa kolumny to string wiec gdzie jest '' lub ""
l0ud
  1. <?php
  2. $kolumna = 'nazwa';
  3. ?>


Podstawa podstawy, czyli przypisywanie zawartości dla zmiennych w php...
potreb
Na forum znajdziesz dużo przykład, jak się tworzy podobne zapytania UPDATE. Wyszukiwarka dostępna jest.
Lejto
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
luniak
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ć biggrin.gif
empuszek
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 snitch.gif

HuRiN
Lejto
sciana.gif co za brak uwagi z mojej strony zobaczyłem $query i już myślałem że wywołało sciana.gif
zurek
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 winksmiley.jpg
potreb
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ść.
zurek
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ę!":(
Lejto
pisze daj zamiast Nie udało się
  1. <?php
  2. echo mysql_errno() . ": " . mysql_error(). "\n";
  3. ?>

to wyświetli błędy
marcio
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 smile.gif
zurek
Zrobiłem to co Lejto proponował i wywala mi błąd:

  1. 1054: Nieznana kolumna 'zurek' w FIELD list
potreb
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.
marcio
Zapytanie ktore podalem jest dobre zmienna $kolumna tez musi byc w '' z .. 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.