Artheso
26.03.2010, 16:29:55
Witam... mam pewien problem... Oto kod:
<?php
require('conn.php');
$dodajexp = "UPDATE tabela SET "exp = exp + 10 WHERE ID='1'";
mysql_query($query);
?>
Problem polega w tym, że chyba źle coś zrobiłem... Chciałbym, aby do tabeli w rubrykę exp zwiększało liczbę, która się tam znajduje o 10... Czyli, że jak jest 0 to będzie 10, po odświeżeniu strony ze skryptem 20, itd... A to nie działa...
Mam nadzieję, że ktoś mi pomoże... Pozdrawiam, Artheso
blooregard
26.03.2010, 16:32:11
Zapraszam do zapoznania się z tym tematem:
Temat: Jak poprawnie zada pytanie
Artheso
26.03.2010, 16:35:53
Nie wyskakuje żaden błąd... wszystko jest tak jakby dobrze... ale nie aktualizuje ;/
blooregard
26.03.2010, 16:37:58
~Artheso, zapewniam Cię , że jak włączysz raportowanie błędó, to wyskoczy.
Zresztą, popatzr na swój kod w BBCode. Nie zastanawia Cię zmiana koloru zapytania po SET?
Artheso
26.03.2010, 16:42:14
No dobrze...
teraz kod wygląda tak:
<?php
require('conn.php');
$sql = 'jakieś zapytanie';
$dodajexp = "UPDATE tabela SET "exp = exp + 10 WHERE ID='1'";
?>
Po dopisaniu tego wyskoczył taki błąd:
Parse error: syntax error, unexpected T_STRING in /virtual/b/a/battleknight.ugu.pl/aktual.php on line 16
Czy mógłby mi ktoś pomóc? Nie rozumiem zbyt bardzo PHP...
blooregard
26.03.2010, 16:44:36
No i masz wyraźnie napisane JAKI błąd i GDZIE.
~Artheso, pomyśl trochę.
Artheso
26.03.2010, 16:50:06
Fajnie. Dzięki za odpowiedź, bardzo mi pomogłeś. A tak na serio, no to wiem, że w tej linijce jest błąd, gdybym o tym nie wiedział to bym nie zakładał tego tematu. I pytałem się, czy ktoś mi może pomóc w naprawie błędu, a nie w znalezieniu błędu. I napisałem, że niezbyt bardzo znam php, więc nie wiem o co z tym chodzi.
gigzorr
26.03.2010, 16:54:14
#
$dodajexp = "UPDATE tabela SET "exp = exp + 10 WHERE ID='1'";
#
ja tez nie umiem , ale po bledzie , i policzeniu cudzyslowow wiadomo co jest źle
Artheso
26.03.2010, 16:59:33
Po zmianie nadal ten sam błąd wyskakuje.
Co byś nie robił, jeżeli zaczynasz wyrażenie, czy to od ", ' albo ` to napisanie później w dowolnym momencie drugiego takiego znaku spowoduje zamknięcie otwartego wcześniej wyrażenia. W zapytaniach MySQL nazwy pól, tabel etc. zawieramy pomiędzy ``, chociaż nie ma obowiązku stosowania ich. Nie wiem natomiast skąd wziął Ci się ten podwójny cudzysłów pośrodku Twojego stringa.
Sprawdzając warunek pamiętaj o typie danych jaki sprawdzasz. Dla stringów owszem, powinno to być WHERE pole='wartosc'. Jednak dla liczb raczej WHERE pole=wartosc.
Pozdrawiam
Edit: Wklej po "poprawieniu".
Artheso
26.03.2010, 17:08:06
Poprawiłem na coś takiego:
$dodajexp = "UPDATE 'tabela' SET 'exp' = 'exp' + 10 WHERE ID='1'";
Ale nadal nie działa.. co jest źle?
gigzorr
26.03.2010, 17:18:14
Cytat(Artheso @ 26.03.2010, 17:08:06 )

Poprawiłem na coś takiego:
$dodajexp = "UPDATE 'tabela' SET 'exp' = 'exp' + 10 WHERE ID='1'";
Ale nadal nie działa.. co jest źle?
ja moge sie mylić , a napewno tak jest , ale czegos sie dowiem chociaz :
dla mnie to tak powinno wygladać
$dodajexp = "UPDATE tabela SET exp = 'exp' + 10 WHERE ID=1";
@up Obydwaj przeczytajcie ze zrozumieniem mojego posta, a będzie wiadomo co jest nie tak.
luck
26.03.2010, 17:40:06
@DiH - Miej litość człowieku

Widzisz, że rzucasz grochem o ścianę

$dodajexp = "UPDATE tabela SET exp = exp + 10 WHERE ID=1";
Jako następny poziom wtajemniczenia proponuję autorowi tematu w ramach ćwiczeń napisać skrypt, który wykona skomplikowaną operację wyświetlenia cudzysłowia na stronie.
Artheso
26.03.2010, 17:40:33
OMG... DiH, skoro się tak wymądrzasz, to napisz to tak, jak ma być -.-
Edit:
Chciałem jeszcze dodać, że gdy w SQL wpiszę:
UPDATE tabela SET exp = exp + 10 WHERE ID=1
To normalnie liczba exp zmienia się o 10... I tu pytanie... jak ten kod umieścić w php? Aby poprawnie aktualizował tabelę w taki sposób?
Autorze tematu, na tym forum jest przynajmniej 1337 wątków, w których mógłbyś znaleźć odpowiedź na swoje pytanie. Nie musiałbyś czekać, nie musiałbyś tracić nerwów. A wszystko to, gdybyś wykazał za grosz samodzielności. Jeżeli planujesz karierę w programowaniu lub informatyce w ogóle szczerze doradzam Ci byś nabył, być może niedocenianą przez Ciebie, umiejętność szukania odpowiedzi na swoje problemy w manualu lub kursach.
Artheso
26.03.2010, 17:48:05
Skoro jest tyle takich tematów, to podaj mi linka do chociaż jednego

O ile potrafisz znaleźć
luck
26.03.2010, 17:50:54
Cytat(Artheso @ 26.03.2010, 17:48:05 )

Skoro jest tyle takich tematów, to podaj mi linka do chociaż jednego

O ile potrafisz znaleźć

Stary, robisz sobie jaja. Nie potrafisz nawet ogarnąć tematu, który ma łącznie ok. 15 postów, nie mówiąc o znalezieniu odpowiedzi na całym forum.
Zakładając, że jesteś jednym z czcicieli wielkiego G, lub przynajmniej wiesz, że istnieje taka wyszukiwarka jak Google, to zapewne pomyślałeś, ażeby wpisać weń "mysql where". Czy może nie starczyło czasu? Zobacz także jakie ładne podpowiedzi zaserwuje Ci Google na samym dole.
Artheso
26.03.2010, 18:12:27
To mnie rozbawiłeś

Sam sobie poszukaj w googlach, to zobaczysz, że nie ma tak łatwo

Głowię się z tym od dobrych kilku godzin, i nie wmawiaj, że szkoda mi czasu
Dobra, poradziłem sobie sam, wszystko działa

Napisałem wszystko od nowa
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.