$sql = "INSERT INTO $table (";
powinno byc
$sql = "INSERT INTO `$table` (";
(lub cos innego w zaleznosci od bazy)
bo jakis geniusz moze uzyc zastrzezonego slowa dla nazwy tabeli.
No i skoro uzywasz PDO z tego co zrozumialem to powinienies jechac na bindowaniu a nie recznym wkladaniu danych
edit: podobna z sytuacja z select i kolumnami
edit: no i takie pierdy jak to:
$where = "$expr";
gdzie powinno byc poprostu:
$where = $expr;
edit:
nie: strpos($column, '.') != false
a: strpos($column, '.') !== false
Przy strpos niesprawdzanie typow jest szczegolnie niebezpieczneedit:
kody jak ten
private function isSimpleString($string)
{
$re = "/^[a-zA-Z,_,0-9]*$/";
return true;
}
return false;
}
powinno sie raczej skracac do takiej postaci:
private function isSimpleString($string)
{
return (bool
) preg_match('/^[a-zA-Z,_,0-9]*$/', $string); }