Prosím o pomoc s taháním dat z databáze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Prosím o pomoc s taháním dat z databáze – PHP – Fórum – Programujte.comProsím o pomoc s taháním dat z databáze – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
xXx
~ Anonymní uživatel
54 příspěvků
31. 3. 2012   #1
-
0
-

Dobrý den,
mám vytvořenou databázi D, v ní tabulku T. V tabulce mám sloupce id(bigint(20), primary), text(text) a datum(datetime). Našla by se tu dobrá duše, která by mi objasnila, jak z tabulky vytáhnout data? Pokoušel jsem se o toto:

<? 
	$spojeni = MySQL_Connect("localhost");
	$sql="SELECT  'text', 'datum' FROM T;";
	$vysledek = MySQL_Query("D", $sql, $spojeni);
	while($zaznam = MySQL_Fetch_Array($vysledek)):
		echo $zaznam[text]."<br>";
		echo $zaznam[datum]."<br>";
	endwhile;
?>

ale háže mi to 2 chyby:

  1. Warning: mysql_query() expects at most 2 parameters, 3 given in ... on line 4
  2. Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in ... on line 5

Bohužel si vůbec nevím rady co a jak. Kdybych měl čas na řešení, vyřešil bych to. Ale čas nemám, a proto žádám o radu Vás.

Nahlásit jako SPAM
IP: 178.255.168.–
Reklama
Reklama
KIIV+42
God of flame
31. 3. 2012   #2
-
0
-

Tak prelozime:  mysql_query() ocekava maximalne 2 (slovy dva) parametry...

Databaze se vybira jinym zpusobem

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xXx
~ Anonymní uživatel
54 příspěvků
31. 3. 2012   #3
-
0
-

Což o to, co jsou chyby zač jsem si zjistil. Jen je bohužel nedokážu eliminovat... S databází a php si hraju jedno odpoledne, a na důkladnější zkoumání momentálně nemám čas. Šlo by sem, prosím, vložit již hotový řešení? Byl bych za tom moc vděčný.

Nahlásit jako SPAM
IP: 178.255.168.–
KIIV+42
God of flame
31. 3. 2012   #4
-
0
-

mysql_select_db("D",$spojeni);

mysql_query($sql,$spojeni);

??

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xXx
~ Anonymní uživatel
54 příspěvků
1. 4. 2012   #5
-
0
-

Stále mi to háže chybu na řádku č.5

Nahlásit jako SPAM
IP: 178.255.168.–
z_moravec
~ Redaktor
+3
Posthunter
1. 4. 2012   #6
-
0
-

#5 xXx
To je chyba v SQL dotazu. Zaměň apostrofy ' za obrácené `. Pokud to nebude stačit, tak sem dej i strukturu tabulky.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Jelec0
Newbie
1. 4. 2012   #7
-
0
-

Je to detail, ale osobně doporučuji tento způsob:

$dotaz = mysql_query($sql, $spojeni);
while(list($sloupec1, $sloupec2)=mysql_fetch_array($dotaz))
{
echo $sloupec1;
echo $sloupec2;
}
Nahlásit jako SPAM
IP: 89.190.44.–
z_moravec
~ Redaktor
+3
Posthunter
1. 4. 2012   #8
-
+2
-
Zajímavé

#7 Jelec
Tenhle způsob silně nedoporučuju. Jakmile budeš chtít rozšířit select o další sloupce, tak je reálné riziko, že je zapomeneš přidat do List(). Takové chyby se ve složitějším kódu hledají dost špatně.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Jelec0
Newbie
1. 4. 2012   #9
-
0
-

#8 z_moravec
Jo zapomněl jsem dodat, že pro jednodušší aplikace. Nicméně si myslím, že pro jeho účely to zatím stačí. Ale jinak díky, sám jsem to dělal takto u jednoho složitějšího zdrojáku, páč nemám holt jiný naučený.

Nahlásit jako SPAM
IP: 89.190.44.–
CZechBoY+4
Věrný člen
1. 4. 2012   #10
-
0
-

prostě si tam nech vypsat MySQL_Error() po odeslání toho dotazu...

<?php
	$spojeni = MySQL_Connect("localhost");
	$sql="SELECT  `text`, `datum` FROM `T`";
	$vysledek = MySQL_Query($sql, $spojeni);
	If(!$vysledek) {
		echo "Poslední dotaz do databáze selhal a vrátil následující chybu:<br><b>".MySQL_Error()."</b>";
	die;
	}
	while($zaznam = MySQL_Fetch_Array($vysledek)):
		echo $zaznam['text']."<br>";
		echo $zaznam['datum']."<br>";
	endwhile;
?>

jinak koukám, že moc těch parametrů u funkce MySQL_Connect vyplněných nemáš

Nahlásit jako SPAM
IP: 213.192.10.–
Franceq+1
Stálý člen
5. 4. 2012   #11
-
0
-

//pripojeni k databazi

$data = mysql_query("SQL DOTAZ")or die(mysql_error()); //SQL dotaz je napr "SELECT * FROM nazevtabulky"

while($radek = mysql_fetch_array($data)){

          echo $radek['nazevsloupce'];

          echo $radek['nazevdalsihosloupce'];

          .....       

}

jak se pripojit k databazi: http://www.linuxsoft.cz/article.php?id_article=336

zakladni SQL dotazi jako je INSERT, SELECT, DELETE, UPDATE + kombinace s podminkou WHERE : http://www.tizag.com/mysqlTutorial/mysqlselect.php

doufam ze jsem ti pomohl...

Nahlásit jako SPAM
IP: 31.133.8.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý