Autor Zpráva
jefitto44
Profil
Ten základný princíp som pochopil, avšak čo mám použiť namiesto mysql_num_rows?

$Result = $db->query($queryString);
            if($Result){
                if(mysql_num_rows($Result)==1){
Potrebujem tam asi nejakú inú, novšiu funkciu... viete pomôcť?


Hanbím sa teraz jak pes, lebo tam stačí napísať mysqli_num_rows a funguje to, avšak chcem sa opýtať, ako by sa to dalo prerobiť na objekty?

if($Result::$num_rows==1)?
Alphard
Profil
$Result->num_rows, je třeba odkazovat se na patřičnou instanci, ne přistupovat staticky.
jefitto44
Profil
Mám Ďalšiu otázku... týmto spôsobom po fečovaní vyberám dáta z databázy systémom $result->nazov_stlpca
Ja do názvu stlpca však potrbeujem dať SESSION["language"]... a keď napíšem takéto niečo
$row->$_SESSSION["lang"]."content"; tak mi to vyhadzuje niečo takéto:
Notice: Undefined property: stdClass::$sk in C:\wamp\www\shared\classes\class.html.php on line 141

Čo sa s tým dá robiť?


Použil som množinové zátvorky... je to správne riešenie? $row->{$_SESSSION["lang"]."content"};
Kubo2
Profil
jefitto44:
týmto spôsobom po fečovaní vyberám dáta z databázy systémom $result->nazov_stlpca
Prosím, nepoužívaj slovenské skomoleniny anglických slov. Riadok nefečuješ, ale mysqli::fetch()uješ.

Ja do názvu stlpca však potrbeujem dať $_SESSION["language"]...
V tom prípade máš zle navrhnutú databázu, aj keď pri riešení lokalizácie to možno až tak nevadí.

$row->$_SESSSION["lang"]."content";
To ti ani nemôže fungovať, pretože uvedený výraz sa vyhodnocuje v nasledovnom poradí (uvedené v komentároch; vnorené zátvorky majú, samozrejme, prednosť):
(
  $row->{
    ( $_SESSION['lang'] ) // 1. hodnota $_SESSION['lang'] (napr. "lang")
  } // 2. hodnota $row->lang
) . $content; // 3. hodnota ( $row->lang . $content )

Čo sa s tým dá robiť?
Použiť syntax kučeravých zátvoriek ${ expression } pre vyhodnotenie názvu premennej za behu (at run-time).

Použil som množinové zátvorky... je to správne riešenie? $row->{$_SESSSION["lang"]."content"};
Syntakticky správne podľa syntaxe jazyka PHP, avšak nie práve sémanticky čisté (vzhľadom na tvoj zámer).

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: