Autor Zpráva
fodsqa
Profil
Nazdar hoši mám takíto problém,
vytvorím si pripojenie na mysqli
$conn = new mysqli($servername, $username, $password, $database);

a dalej v dokumnte mam takúto triedu z funkciov
class safe{

    function escape($text){
        return mysqli_real_escape_string($conn,$text);
    }
}

čo potrebujem docieliť?

Potrebujem docieliť aby mi príkaz mysqli_real_escape_string() bral pripojenie z premennej $conn v nutrí funkcie (a class)

snaď to neni chaoticky napísane, ďakujem
Dan Charousek
Profil
fodsqa:
Můžeš si ji třeba předat v parametru, ale já bych spíš dědil od mysqli:

<?php
class Db extends Mysqli {

    public function escape($text) {
        return $this->real_escape_stirng($text);
    }

}

$conn = new Db($servername, $username, $password, $database);

// Pak můžeš escapeovat pomocí metody escape

$val = $conn->escape("O'Neil"); // O\'Neil
fodsqa
Profil
Dan Charousek:
možno je to chyba no keď tak spýtam sa rovno , nerozumiem pár veciam

1.prečo new DB?
2. premenna $val by mal byt celkový Output (pre istotu sa ptám);

Nejdem method copy & paste takže by som rad vedel aj prečo takto to treba riešiť
rovi
Profil
fodsqa:
Db je třída, která dědí všechny metody od třídy Mysqli a navíc přidává metodu escape s parametrem $text a vrací jí zpracovanou funkcí real_escape_string.
Zápis new Db tak vytváří objekt Db, s kterým můžeš pracovat. V proměnné $val v tuto chvíli budeš mít escapovanou verzi textu, kterou jsi dával do parametru metody nové třídy. Můžeš si i metodu třídy upravit, aby ti vracela odesapovanou verzi výstupu z databáze. A podobně.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: