mysqli_real_escape_string() w sqlite3

mysqli_real_escape_string() w sqlite3
CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

Jaki jest (mam nadzieję, że jest) zamiennik** mysqli_real_escape_string()** w sqlite? Taki który działa z PDO

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
0

http://php.net/manual/en/mysqli.real-escape-string.php
Mówi:
Note unlike PDO string escape, MySQLi does not include apostrophes.

So, you probably want something like this:

function escape($s){
    $s = $this->mysqli->real_escape_string($s);
    return "'$s'";
}
Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

@Marcin.Miga: a jak to zastosować podobnie do tego
query(sprintf("SELECT %s FROM %s", mysqli_real_escape string($polaczenie, $zmienna1,mysqli_real_escape string($polaczenie, $zmienna2))) tylko w sqlite?

tak samo tylko zamiast mysqlirealescape... wpisać $db->escape($value1), $db->escape($value2) ?

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

Użyj zmiennych pomocniczych. Kod ładniejszy, łatwiej się debuguje...

Kopiuj
$zmienna1=sqlite_escape_string($zmienna1);
$zmienna2=sqlite_escape_string($zmienna2);
$sql=sprintf("SELECT %s FROM %s", $zmienna1, $zmienna2);
$return = sqlite_query($sql);
CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

@Marcin.Miga: Uncaught Error: Call to undefined function sqlite_escape_string() :-(

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

php_info()

ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 110
CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
1

@Marcin.Miga: chyba phpinfo(); zaraz wyśle, ale czy to nie ejst tak, że jak używam pdo to te ssqlite_funkcje nie działają?
@mefsh: co? To miało być zabezpieczenie przed sql injection wcześniej jest htmlentities(), ale wg. kursu warto dodać też sprintf.

ME
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 110
0

@CodeRZ: Bindowanie parametrów jest zabezpieczeniem przeciwko sql injection.

CodeRZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 259
0

Zrobiłem, czy jest bezpiecznie?

Kopiuj
$login = htmlentities($login, ENT_QUOTES, "UTF-8");
    $password = htmlentities($password, ENT_QUOTES, "UTF-8");
  
	
	$sql2 = 'SELECT * FROM Users WHERE Name= :login AND Password= :password';
    $stmt = $db->prepare($sql2);
    $stmt->bindParam('login', $login);
    $stmt->bindParam('password', $password);
    $stmt->execute();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.