![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
witam.
na podstawie tutoriala zamieszczonego na stronie php.pl napisałem skrypt do dodawania danych do bazy danych. postanowiłem dodać opcję aktualizacji danych i usuwania, ale napotkałem problem przy aktualizacji a mianowicie. Mam dwa pliki aktualizujosoba i aktualizujosoba2, w pliku pliku aktualizujosobe pokazują mi się poprawne dane dla konkretnego id, ale po ich zmianie w formularzu otrzymuje komunikat że wpis dodano tylko że on się nie aktualizuje. plik aktualizujosoba CODE <? $o_idosoby=$_GET['o_idosoby']; $username="root"; $password="123"; $database="testowa"; mysql_connect('localhost',$username,$password); @mysql_select_db($database) or die ("Nie mogę połączyć się z serwerem SQL."); $query=" SELECT * FROM osoby WHERE o_idosoby='$o_idosoby'"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close(); $i=0; while ($i < $num) { $o_imie=mysql_result($result,$i,"o_imie"); $o_nazwisko=mysql_result($result,$i,"o_nazwisko"); ++$i; } ?> <form action=aktualizujosoba2.php method=post> <input type=hidden name=ud_id value="<? echo $o_idosoby; ?>"> Imię: <input type=text name=ud_imie value="<? echo $o_imie; ?>"><br> Nazwisko: <input type=text name=ud_nazwisko value="<? echo $o_nazwisko; ?>"><br> <input type=Submit value=Aktualizuj> </form> plik aktualizujosoba2 CODE <?
$ud_id=$_POST['ud_id']; $ud_imie=$_POST['ud_imie']; $ud_nazwisko=$_POST['ud_nazwisko']; $username="root"; $password="123"; $database="testowa"; mysql_connect('localhost',$username,$password); $query="UPDATE osoby SET o_imie=$ud_imie, o_nazwisko=$ud_nazwisko WHERE o_idosoby=$ud_id"; mysql_query($query); echo "Rekord zaktualizowany"; mysql_close(); ?> <br><a href=dodajosoba.php>Powrót do listy osób</a> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Wszystko poza INTem w SQLu zawsze bierzemy w apostrofy. -------------------- Wolałem języki z rodziny C ale poszedłem na łatwizne...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko poza INTem w SQLu zawsze bierzemy w apostrofy. Już też tak próbowałem. Wywołałem sobie też wartość zmiennych z pliku apltualizujosoba2 i są poprawne, funkcja mysql_errno() pokazuje kod 0461. Ma ktoś jeszcze jakieś pomysły, dodam że polecenie update dodane przez phpmyadmin wykonuje się poprawnie. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat funkcja mysql_errno() pokazuje kod 0461 No to masz błąd.... wyświetl sobie jeszcze mysql_error() a zobaczysz tekst tego błędu.A na przyszłość Temat: Jak poprawnie zada pytanie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, otrzymałem komunikat że nie wybrałem bazy danych. ale gdy w poleceniu sql wpisuje use i nazwe bazy danych otrzymuje komuinikat o błędnej składni.
CODE USE 'testowa' UPDATE osoby SET o_imie='$ud_imie', o_nazwisko='$ud_nazwisko' WHERE o_idosoby='$ud_id' komunikat błędu:"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 'UPDATE" jak mogę poprawnie wybrać bazę danych? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Baze wybiera się osobnym poleceniem a nie razem z update
http://pl.php.net/manual/en/function.mysql-select-db.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
nospor, dzięki teraz poszło. W mssql można napisać po prostu use i nazwe z tąd moje pytanie. Możesz mi wytłumaczyć dlaczego polecenia insert i delete w mysql działały mi bez wybierania bazy?
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Możesz mi wytłumaczyć dlaczego polecenia insert i delete w mysql działały mi bez wybierania bazy? Nie ma takiej opcji, musiałeś wybrać bazę.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 9.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:01 |