Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql]Błąd przy wykonywaniu UPDATE-u
nightmoon
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

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


Witam jestem nowym użytkownikiem wiec jeśli coś robie nie tak proszę mnię o tym poinformować w miarę łagodny sposób a nie zareaz się na mnie rzucając ;0 Teraz mój problem.

Zrobiłem coś takiego:

CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL auto_increment,
`opjca1` varchar(50) default NULL,
`opcja2` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;

INSERT INTO `test` VALUES (1, 'zuzia', 'janek');

I do tego takie zapytanie:

UPDATE test SET opcja1 = 'zuzia', opcja2 = " . $_POST['coś_tam'] . " WHERE id='1'

I jak w pliku już coś tam wpiszę bo sobie pole typu text stworzyłem (formularz) to za rzadnego grzyba nie chcę zaktualizować pola opcja2 tylko wywala taki komunikat

SQL Error
Unknown column 'to_co_sobie_wpisałem_do_texta' in 'field list'

To wszystko :| co robię nie tak próbowałem się wesprzeć tematem ze http://dev.mysql.com/doc/refman/5.0/en/update.html ale czytając go mam wrażenie, że wszystko jest O.K. wie ktoś może gdzie popełniłem błąd?

Ten post edytował nospor 7.12.2007, 14:42:50
Go to the top of the page
+Quote Post
Cezar708
post
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


nie wiem dokładnie, ale mogę strzelić, że w zmiennej $_POST['coś_tam'] masz nie wyeskejpowany apostrof, użyj mysql_escape_string() może pomoże

co do forum to przeczytaj sobie przypięty topic na temat zasad postępowania na tym forum. Wtedy popraw treść postu i dodaj taga do tematu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nightmoon
post
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

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


Cytat
Na forum proszę umieszczać topici dotyczące ogólnie baz danych. Problemy dotyczące juz konkretnych baz, należy umieszczać na odpowiednich podforach.

Nazwy tytułów tematów, których problem wynika z błędnego zapytania:
Jesli nie wiemy jaki nadać tytuł, nie kombinujmy w stylu: "Błąd zapytania". Taka informacja nic nie niesie. Zazwyczaj jesli mamy błąd zapytania, to i wiemy jaki to błąd. Uzyjmy go więc jako tytuł naszego topicu. łatwiej później taki topic znaleźć w wyszukiwarce.


Taka treść jest w zasadach postępowania i nie wiem o co chodzi z tym tagiem (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

P.S. dobre jest to, że jeśli dam takie zapytanie będąc w MySQL to działa

UPDATE test SET opcja1 = 'zuzia', opcja2 = 'lol' WHERE id='1'

to w opcji2 się zmieni na lol nie wywalając żadnego błędu.
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




uzywaj bbcode

  1. <?php
  2. $sql = "UPDATE test SET opcja1 = 'zuzia', opcja2 = '$_POST[coś_tam]' WHERE id=1";
  3. ?>

ps: przenosze i dodam tag
Go to the top of the page
+Quote Post
nightmoon
post
Post #5





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

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


Nospor nie wiem czy to co napisałeś miało być rozwiazaniem ale nie działa (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) teraz w pliku mam taki błąd

Parse error: syntax error, unexpected T_VARIABLE in /public_html/test.php on line 11

a linia 11 to właśnie to:

Kod
<?php
$sql = "UPDATE test SET opcja1 = 'zuzia', opcja2 = '$_POST[coś_tam]' WHERE id=1";
?>


Ten post edytował nightmoon 7.12.2007, 14:49:12
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




Kod co ci podalem jest prawidlowy. ALbo masz blad linie wyzej, albo cos źle wkleiles.

Pokaz dokladnie co masz w pliku i pokaz tez pare lini wyzej
Go to the top of the page
+Quote Post
nightmoon
post
Post #7





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

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


Tak wygląda zapytanie:

Kod
CREATE TABLE `ustawienia` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `nazwa` varchar(50) default NULL,
  `wybor` varchar(50) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

INSERT INTO `ustawienia` VALUES (1, 'free', 'off');


Natomiast plik do zmian tak:

Kod
<?php
require "include/bittorrent.php";

dbconn();
maxsysop ();
loggedinorreturn();
noaccess("test.php", UC_VIP);
stdhead("Test");

if ($_POST['ed'] == 1) {
mysql_query("UPDATE ustawienia SET nazwa = 'free', wybor = ".$_POST['test']." WHERE id='1'") or sqlerr(__FILE__,__LINE__);
}


?>
<table align="center" cellpadding="5" cellspacing="5" border="1">
<form action="test.php" method="post">
<input type="hidden" name="ed" value="1">
    <tr><td align="center" colspan="2" class="colhead">Sprawy administracyjne</td></tr>
    <tr><td align="right">FreeLeech</td><td align="left"><select name="test">
                                 <option value="on">Włączony</option><br />
                                                     <option value="off">Wyłączony</option><br />
                                                     </select></td></tr>
    <tr><td colspan="2" align="right"><input type=submit value="OK!" class="btn"></td></tr>
</form>
</table>
<?

stdfoot();
?>


Pozwole się jeszcze spytać w jaki sposób dać Kod PHP zamiast zwykłego kodu bo jak klikam na button PHP podczas zakładania czy pisania postu nic się nie dzieję
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




No i gdzie tu jest moj kod?

wstaw dokladnie to zamiast swojego:
  1. <?php
  2. if ($_POST['ed'] == 1) {
  3. mysql_query("UPDATE ustawienia SET nazwa = 'free', wybor = '$_POST[test]' WHERE id=1");
  4. }
  5. ?>


Cytat
ozwole się jeszcze spytać w jaki sposób dać Kod PHP

zamiast [code] masz uzyc [php]
Go to the top of the page
+Quote Post
nightmoon
post
Post #9





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 7.12.2007

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


Faktycznie działa wcześniej dając Twój kod musiałem coś zamieszać (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Dziękuje za pomoc
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 - 00:48