Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak użyc funkcji
Forum PHP.pl > Forum > PHP
cornholio666
Witam

Znalazlem taka funkcje http://anakin.us/blog/przepis_na_sql_injection/

I niezabardzo wiem jak jej uzyc np do SELECTa, UPDATEa i DELETEa. Moze ktos by mi podal jakies przyklady?

Pozdrawiam
nospor
no popatrz. a ja na tej stronie znalazlem i przyklad:
Cytat
Funkcja SQL przyjmuje jeden wymagany parametr - zapytanie SQL w którym wykorzystujemy łańcuchy typu %d, %s czy %b do określenia typu wartości, jaka ma się w tym miejscu znaleźć (kolejno - liczba, łańcuch znaków i wartość typu boolean). Przyjmujemy magic_quotes_gpc=off. W praktyce wykorzystanie funkcji jest niezwykle proste:

// Przyjmujemy, dla przykładu:
$_POST['uid'] = 1;
$_POST['name'] = 'Łukasz "anAKiN" Lach';
$_POST['username'] = 'anakin';
$_POST['password'] = 'an4kin';
$_POST['newsletter'] = 1;

$sql = SQL('INSERT INTO users (id, uid, name, username, password, newsletter) '.
  'VALUES (NULL, %d, %s, %s, %s, %cool.gif', $_POST['uid'], $_POST['name'],
  $_POST['username'], md5($_POST['password']), $_POST['newsletter']);

czego nie rozumiesz? Tu jest insert, a ty nie wiesz jak uzyc dla select, update, delete. Odpowiedź: tak samo, pamiętając jedynie o skladni danego typu zapytania
cornholio666
Nie rozpoczynałbym tematu jakbym nie przeczytal calego artykulu.

  1. <?php
  2.  
  3. $query = SQL('SELECT id,email,phone, FROM $registration_table');
  4.  
  5. ?>


poprostu nie wiem a to wyzej jest raczej zle. Nie wiem gdzie umiescic %d, %s, %s, %s

po jednym poprawnym przykaladzie by mi wystarczylo.
nospor
Ta funkcja zostala stworzona poto, aby sformatować dane, które wkladamy z formularza do zapytania. Jezeli w zapytaniu nie uzywasz zadnych danych z formularza, nie musisz uzywać tej funkcji.
Do selecta mozesz wprowadzic dane z formularza, aby uzytkownik mogl coś znaleźć, np. wszystkich kolesi o imieniu 'marian' z twojej tabeli:
  1. <?php
  2. $query = SQL('SELECT id,email,phone, FROM '.$registration_table.' where name=%s', $_POST['name']);
  3. ?>

podobnie z innymi. niewazne czy to jest update, select, insert czy delete. Jesli masz wrzucić jakieś dane formularza do zapytania, to wówczas uzywasz %s (napis), %d (liczba).
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.