Zapytanie SQL o ilość wierszy w tabeli oraz ochrona przed wstrzykiwaniem

0
  1. Czy używanie "SELECT *" jest złe jeśli chcę poznać jedynie liczbę wierszy spełniających jakiś warunek?
    Czy gdybym użył np "SELECT id" w tym przypadku to zapytanie mniej obciążyłoby serwer?
    A może da się napisać coś w rodzaju SELECT nothing?

"SELECT * FROM uzytkownicy WHERE rokurodzenia = 1980"

  1. Czy użycie mysqli_prepare -> mysqli_stmt_bind_param -> mysqli_stmt_execute -> mysqli_stmt_get_result jest wystarczającym
    zabezpieczeniem przed wstrzykiwaniem SQL?
0

A po co kombinowac? jak chcesz liczbe wierszy robisz SELECT COUNT(*) from table;

0

AD1) Jeśli chcesz poznać liczbę wierszy w tabeli powinieneś użyć COUNT bo w przypadku dużej ilości rekordów szybko dobijesz do limitów pamięci, czasu .
AD2) Tak, o ile zapytanie parametryzowane jest tylko przez mysqli_stmt_bind_param ze wskazaniem właściwych typów.

Polecam zamiast mysqli_ używać PDO które jest standardem jeśli chodzi po połączenie z bazą danych w PHP.

0
  1. SELECT COUNT(id) FROM table WHERE field = "example"
  2. Użyj PDO zamiast przestarzałego mysqli_*

1 użytkowników online, w tym zalogowanych: 0, gości: 1