Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie do bazy (w php)
Snoopy
post 10.02.2006, 19:56:42
Post #1





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 5.02.2006

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


mam takie coś:
  1. <?php
  2. mysql_query("UPDATE users SET www='$www', from='$from' WHERE name='$name'") or die("ERROR");
  3. ?>


jeśli z tej linii wywale from='$from' to zadziała pięknie ale zmieni tylko pole www ale jak zostawie te from to wyskakuje ERROR... od jakiegos czasu mam z tym problemy
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
ActivePlayer
post 10.02.2006, 20:00:34
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


a jaka jest zawartość zmiennej $from ?
promonuje
  1. <?php
  2.  
  3. echo $from
  4. ?>
oraz zainteresowac sie mysql_escape_string
Go to the top of the page
+Quote Post
aleksander
post 10.02.2006, 20:02:37
Post #3





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


uzywaj mysql_error()
Go to the top of the page
+Quote Post
Snoopy
post 10.02.2006, 20:46:42
Post #4





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 5.02.2006

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


całość wygląda tak:
  1. <?php
  2. $www = $_POST['www'];
  3. $from = $_POST['from'];
  4. $about = $_POST['about'];
  5. $gg = $_POST['gg'];
  6. mysql_query("UPDATE users SET www='$www', from='$from' WHERE name='$name'") or die("NIE MOZNA DODAĆ DO BAZY ERROR");
  7.  
  8. ?>


a jak daje echo to wszystko pięknie się wyświetla


--- dodałem te mysql_error i wyskoczyło takie coś:

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='Bytom' WHERE name='Snoopy'' at line 1

Ten post edytował Snoopy 10.02.2006, 20:50:09
Go to the top of the page
+Quote Post
Neojawor
post 14.02.2006, 02:29:35
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 2.12.2005
Skąd: Jaworzno

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


Królu złoty, wyraz "from" jest zastrzeżony w MySQL - musisz sobie zmienić nazwę kolumny (nazwa zmiennej $from w php może zostać)

tu daję listę zakazanych:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
Go to the top of the page
+Quote Post
mariuszn3
post 14.02.2006, 11:36:17
Post #6





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Tak naprawdę na upartego możesz nazwać pole 'from' czy użyć jakiegokolwiek zastrzeżonego słowa, ale wtedy zawsze w zapytaniu do bazy musisz je podawać w cudzysłowie.. np. 'SELECT id, `from` FROM table'
Tak czy siak nie jest to zalecana praktyka i lepiej te słowa omijać z daleka.
Go to the top of the page
+Quote Post
Snoopy
post 15.02.2006, 10:08:30
Post #7





Grupa: Zarejestrowani
Postów: 92
Pomógł: 0
Dołączył: 5.02.2006

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


Dziekuje bardzo... nie wiedzialem ze istnieje takie zastrzezenie co do nazw... i kolejny dzien przynosi nowe niespodzianki smile.gif Dziekuje smile.gif mozna chyba zamknąć
Go to the top of the page
+Quote Post
nospor
post 15.02.2006, 12:51:48
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zamknąc nie koniecznie, ale przenieść... a i owszem. w koncu problem dotyczy bazek a nie php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:49