Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL]Kodowanie i dekodowanie
przemokrosno
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Witam
Mam skrypt który zapisuje dane studenta do bazy mysql za pomocą poniższego kodu:

  1. <?php
  2. $addStudentQuery=' INSERT INTO '._STUDENT_DB_TABLE.' (studentid, firstname, secondname, lastname, birthdate, birthplace, phone, parentsname, parentsphone, adres, cnumber)          VALUES
  3. ("'.mysql_escape_string($studentid).'",  "'.mysql_escape_string($firstname).'", "'.mysql_escape_string($secondname).'", "'.mysql_escape_string($lastname).'",  "'.$birthdate.'", "'.mysql_escape_string($birthplace).'", "'.mysql_escape_string($phone).'",  "'.mysql_escape_string($parentsname).'", "'.mysql_escape_string($parentsphone).'", "'.mysql_escape_string($adres).'" ENCODE('.$cnumber.',""))    ';
  4.        @mysql_query($addStudentQuery) or die("studentAddStudent(): ".mysql_error());
  5.        return mysql_insert_id();
  6. ?>

Nie mam problemów z pobieranie danych z bazy danych ale niestety w powyższym kodzie nie działa mi kodowanie: ENCODE('.$cnumber.',"")
i przekazywanie danych do bazy nie działa.
Jeżeli ktoś wie gdzie popełniłem błąd to bardzo proszę o pomoc.

Ten post edytował przemokrosno 3.08.2009, 12:12:31
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Wywal małpę sprzed mysql_query" title="Zobacz w manualu PHP" target="_manual, pokaż co zwraca mysql_error" title="Zobacz w manualu PHP" target="_manual, wtedy będziemy rokować. ;]
Go to the top of the page
+Quote Post
przemokrosno
post
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


To zwraca nawet bez wyrzucenia @ sprzed mysql_query($addStudentQuery) or die("studentAddStudent(): ".mysql_error());
  1. &#65279;studentAddStudent(): 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 'ENCODE(,""))' at line 2
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Strzelam: register_globals. Dodaj na początku skryptu:
  1. <?php
  2. extract($_POST);
  3. ?>

lub $_GET jeśli przesyłasz formularz getem.
Go to the top of the page
+Quote Post
przemokrosno
post
Post #5





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 30.09.2008
Skąd: Krosno

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


Po dodaniu tego wywaliło taki błąd:
  1. &#65279;studentAddStudent(): 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 'ENCODE(37384559,""))' at line 2

Czyli już jest lepiej bo przynajmniej przechwytuje ciąg do zakodowania ale nadal nie działa.
Znalazłem i działa - brakowało przecinka przed ENCODE('.$cnumber.',"")

Ten post edytował przemokrosno 3.08.2009, 12:43:43
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: 8.10.2025 - 18:26