#2 Re: Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 20:31:39

Mockrát Vám děkuji, na to bych sám asi nikdy nepřišel. děkuji smile

#3 Re: Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 18:38:54

Vyzkoušet si to můžete zde: http://apelt.jecool.net/index5.php
Kód je vypisován po zadání vstupu uživatele do formuláře, což po potvrzení spustí soubor formAction.php
Formulář zatím nevykonává to co má, nejdřív se pokouším vypisovat proměnné, abych věděl co funguje.

#4 Re: Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 17:34:39

Děkuji moc, už mi to píše že tabulka existuje. Nevíte ještě proč když vyberu všechny řádky z tabulky, píše mi to že jich tam je 0? (echo $pocet_radku_kraj;).
Za proměnnou $kraj dosazuji: Hlavní město Praha , což v tabulce kraj v databázi mám. Ve výsledku mi to píše že "tabulka je prazdna"

$dotaz_kraj = mysqli_query($connect," SELECT * FROM kraj WHERE nazev_kraje = \"$kraj\" ");
		echo "<br />";
		
		
		$pocet_radku_kraj = mysqli_num_rows($dotaz_kraj);
		echo $pocet_radku_kraj; /*vypisuje 0*/
		echo "<br />";
		
		if($pocet_radku_kraj != 0){
			while($radek_kraj = mysqli_fetch_assoc($dotaz_kraj)) { 
				echo "id:" . $radek_kraj["id_kraje"] . "<br />";
				echo "kraj:" . $radek_kraj["nazev_kraje"] . "<br />";
				echo "pocet navstev: " . $radek_kraj["pocet_navstev_kraj"] . "<br />";
			}
		} /*nic nevypisuje*/
		else if ($pocet_radku_kraj == 0) {
			echo "tabulka je prazdna";
		}
		else {
			echo "nepodarilo se nic vypsat";
		}

#5 Re: Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 16:13:35

obojí jsem tedy upravil ale výsledek stále stejný, nic se nevypíše, a tabulka (řádek) neexistuje:
                $result = mysqli_query("SHOW TABLES LIKE '%kraj' ");
        if (mysqli_num_rows($result) > 0) {
            echo "tabulka existuje";
        }   
        else if (mysqli_num_rows($result) == 0) {
            echo "tabulka neexistuje";
                        echo mysqli_num_rows($result); /*nic nevypise*/
        }

#6 Re: Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 13:40:31

Děkuji za radu, doplnil jsem tedy toto:
                $pocet_radku_kraj = mysqli_num_rows($dotaz_kraj);
        echo $pocet_radku_kraj; /*vypise 0*/


        if($pocet_radku_kraj != 0){
            while($radek_kraj = mysql_fetch_assoc($dotaz_kraj)) {
                echo "id:" . $radek_kraj["id_kraje"] . "<br />";
                echo "kraj" . $radek_kraj["nazev_kraje"] . "<br />";
                echo "pocet navstev: " . $radek_kraj["pocet_navstev_kraj"] . "<br />";
            }
        } /*nic nevypisuje*/
        else {
            echo "tabulka kraj žádné odpovídající hodnoty (řádky) nemá";
        }
vypisuje se mi hláška: "tabulka kraj žádné odpovídající hodnoty (řádky) nemá", je to však divné, v databázi hodnoty v tabulce mám, je jich tam 14 (14 krajů čr)

předělal jsem i dotaz, předtím jsem tam neměl hvězdičku, každopádně pořád nefunguje:
$dotaz_kraj = mysqli_query($connect," SELECT * FROM kraj WHERE nazev_kraje = \"$kraj\" ");

EDIT:
Zjistil jsem že tabulka neexistuje, což je opravdu podivné, v databázi přes phpMyAdmin ji vidím, i její hodnoty ..tak, jak to?
        $result = mysqli_query("SHOW TABLES LIKE 'kraj'");
        if (mysqli_num_rows($result) > 0) {
            echo "tabulka kraj existuje";
        }   
        else if (mysqli_num_rows($result) == 0) {
            echo "tabulka neexistuje";
        }

#7 Problémy s MySQL » Problém s dotazem do databáze » 2016-03-23 12:25:58

apelt
Odpovědi: 12

Zdravím,
mám problém - nevím jestli s dotazem do databáze, protože v phpMyAdmin funguje bez problému.
Chci vypsat pocet_navstev_kraj (typu int), který má v databázi hodnotu 0, pomocí proměnné $dotaz_kraj
Název kraje v databázi - nazev_kraj - by měl tedy odpovídat proměnné $kraj.
Nicméně to nefunguje. Celý dotaz jsem si i vypsal pomocí echo a je vpořádku, když ale přidám echo $dotaz_kraj;
dotaz už se vypíše pomocí echa špatně, takto: SELECT pocet_navstev_kraj FROM kraj WHERE nazev_kraje = "HlavnĂ­ mÄ›sto Praha"
Asi v tomto bude háček, jenže nevím co s tim, jsem začátečník, budu rád za každou radu.

Toto je můj kód:

        define("SERVER","localhost");
    define("UZIVATEL","*****");
    define("HESLO","*****");
    define("DB","*****");

    session_start();
    $jmeno = $_GET['jmeno'];
    $pohlavi = $_GET['pohlavi'];
    $kraj = $_GET['kraj'];
   
    if ($jmeno && $pohlavi && $kraj) { /*existuje-li jmeno, pohlavi a kraj*/
        $connect = @mysqli_connect(SERVER, UZIVATEL, HESLO, DB) or die ("Nepodařilo se připojit k databázi"); /*pripoji se vporadku*/
        mysqli_set_charset($connect,"utf-8");
        if (mysqli_connect_errno())
        {
          echo "Nepodařilo se připojit k MySQL: " . mysqli_connect_error();
        }
        echo $jmeno;echo "<br />"; /*vypisuje vporadku*/
        echo $pohlavi;echo "<br />";  /*vypisuje vporadku*/
        echo "SELECT pocet_navstev_kraj FROM kraj WHERE nazev_kraje = \"$kraj\" ";  /*vypisuje vporadku jen kdyz nepouziji: echo $dotaz_kraj;    !!! */
       
       
        $dotaz_kraj = mysqli_query($connect," SELECT pocet_navstev_kraj FROM kraj WHERE nazev_kraje = \"$kraj\" ");
        echo "<br />";
        echo $dotaz_kraj; /*nevypisuje*/

        /*mysqli_close($connect);*/
    }

Zápatí

Založeno na FluxBB | CZ a SK