abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:55 | IT novinky

    DNS4EU, tj. evropská infrastruktura služeb DNS založená na vysoce federovaném a distribuovaném ochranném ekosystému, byla spuštěna v testovacím režimu [𝕏]. Na výběr je 5 možností filtrování DNS.

    Ladislav Hagara | Komentářů: 3
    včera 22:44 | IT novinky

    Skriptovací programovací jazyk PHP (PHP: Hypertext Preprocessor, původně Personal Home Page) dnes slaví 30 let. Přesně před třiceti lety, 8. června 1995, oznámil Rasmus Lerdorf vydání PHP Tools (Personal Home Page Tools) verze 1.0.

    Ladislav Hagara | Komentářů: 3
    7.6. 23:55 | Humor

    Ve středu v 17:00 byl ve Francii zablokován přístup k PornHubu a dalším webům pro dospělé. K 17:30 došlo k nárůstu počtu registrací Proton VPN o 1 000 % [𝕏]. Dle nového francouzského zákona jsou provozovatelé těchto webů povinni ověřovat věk uživatelů prostřednictvím průkazu totožnosti nebo platební karty.

    Ladislav Hagara | Komentářů: 36
    6.6. 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 6
    6.6. 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 11
    6.6. 15:11 | Nová verze

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    5.6. 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 9
    5.6. 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    5.6. 12:33 | Komunita Ladislav Hagara | Komentářů: 27
    5.6. 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 5
    Jaký je váš oblíbený skriptovací jazyk?
     (55%)
     (32%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 232 hlasů
     Komentářů: 16, poslední včera 21:05
    Rozcestník

    Dotaz: PHP varování: expects parameter 1 to be mysqli...

    derddddd avatar 14.11.2005 18:57 derddddd | skóre: 4 | blog: lama_log | Pisek
    PHP varování: expects parameter 1 to be mysqli...
    Přečteno: 811×
    Chyba začátečníka,ale jsem zacatecnik, presto hledal sem, googlil sem, oficialni manual s fcemi mysli_fetch_array() a mysqli_free_result() sem taky prosel, ale reseni sem nenasel. Ze sameho zoufalstvi sem okopiroval demo z php.net manualu a stejnak to vraci chybova hlaseni.

    Zde jsou hlaseni:
    1)mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in ..cesta ke skriptu in line 5
    2)mysqli_free_result() expects parameter 1 to be mysqli_result, boolean given in ...cesta ke skriptu in line 8

    Zde je kód i s radkovanim:
    01 <?php
    02 $query="SELECT model_auta, nazev_modelu, nazev_vyrobce_id   FROM tb_auto, tb_model WHERE tb_auto.model_auta=tb_model.id_model AND tb_model.nazev_vyrobce_id=tb_vyrobce.id_vyrobce";
    03 $result = mysqli_query($link, $query);
    04 /* associative and numeric array */
    05 $row = mysqli_fetch_array($result, MYSQLI_BOTH);
    06 printf("%s (%s)\n", $row[0], $row["model_auta"]);  
    07 /* free result set */
    08 mysqli_free_result($result);
    09 /* close connection */
    10 mysqli_close($link);
    11 ? >
    
    KDE JE CHYBA? Prosim o radu, nebo nasmerovani na link, kde zjistim jak dale. DIK
    Snad se tady neztratím...:))

    Odpovědi

    derddddd avatar 14.11.2005 19:18 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    Pro upreseni jedu na:

    apache 2.0.55
    mysql 4.1.14
    php 5.0.5
    Snad se tady neztratím...:))
    14.11.2005 19:29 hudin | skóre: 7
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    A $link i nejak nastavujete? (Tedy, pripojujete se k db?)
    derddddd avatar 14.11.2005 20:30 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    ano pres mysqli_connect($host, $user, $pass, $db), kde $host je localhost, $db je db_auta ostatni sou prazdny
    Snad se tady neztratím...:))
    derddddd avatar 14.11.2005 23:15 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    Jedna důležitá rada pro newbies jako já! Každá fce "musí" být ošetřena, hnedle jak píšete kód, alespoň ze začátku než získáte jistotu... Proč? PHP vám vráti hlášku o chybě a vy alespoň budete vědět, kde ji hledat.... Jako JÁ:)! Zde je oprava:
    1)doopravil sem syntaxi fce mysqli_query() o attribut - resultmode.
    2)již zmiňované ošetření chyb pomocí if...else
    $query="SELECT nazev_modelu, nazev_vyrobce, id_vyrobce FROM tb_model, tb_vyrobce WHERE 
    tb_model.vyrobce_id=tb_vyrobce.id_vyrobce ORDER BY tb_vyrobce.nazev_vyrobce";
    if(!$query)
    {
       echo "Špatně napsaný dotaz do databáze";
       exit();
    }
    else
        {
     	   $result=mysqli_query($link, $query, MYSQLI_STORE_RESULT);
    	   if(!$result)
    	   {
    	      echo "Neproveden dotaz do databáze";
    		  exit();
    	   }
    	   else
    	       {		   
                    $vyrobce="Výrobce: <br />";
    		$model="<strong>Model</strong>:";			
        		echo $vyrobce;	
                   /* načti $result do asociativního pole */
    		while ($row=mysqli_fetch_assoc($result))
    		   {	                   			   
                        $data ="" .$row["nazev_modelu"]. "\n";
    		    echo $model .$data. "<br />";			               }  
    	       }
       /* free result set */
       mysqli_free_result($result);
    }
    /* close connection */
    mysqli_close($link);					   
    ?>
    
    Určitě to ještě není to pravé, ale hlášky o očekávání parametru "to be mysqli" jsou pryč. Má chyba byla již v $query, kde byl špatně napsán název sloupce...:) Takže kód nedošel ani k $result, a teď jestli se mýlim, tak bych rád, aby mne někdo opravil - nedošlo k naplnění proměnné $result, a poté tedy i nebylo co čistit ...free_result($result), proto ty chybové hlášky.
    Snad se tady neztratím...:))
    15.11.2005 12:03 miso
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    if(!$query)
    
    toto podla mna nema vyznam, nic tym nezistis
    derddddd avatar 16.11.2005 11:36 derddddd | skóre: 4 | blog: lama_log | Pisek
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    Ano, chyba byla odhlalena az v $result "Neproveden dotaz do databáze". hm... poopravim to! dik
    Snad se tady neztratím...:))
    16.11.2005 14:57 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: PHP varování: expects parameter 1 to be mysqli...
    Ahoj, Taky si trošku s PHP a MySQL hraju a používám 2 způsoby, jak chybu ošetřít:
    $result = mysql_query($sqlstring) or die (mysql_error()." -> ".$sqlstring)
    případně pokud není nutno skript zastavovat, místo
    die(...)
    použiju
    or $sqlerror.= .. totéž co v die...+"\n" 
    a na závěr
    if ($sqlerror) {
       alert($sqlerror);
       }
    
    funkce alert vytvoří javaskript s alertem, a tak se síce nic nevypíše, ale nakonec vyskočí okno se správou. Někdy se to hodí.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.