Pomoc so SELECTOM – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc so SELECTOM – MySQL – Fórum – Programujte.comPomoc so SELECTOM – MySQL – Fórum – Programujte.com

 

Qip20
Duch
9. 7. 2017   #1
-
0
-

Ahojte,

po velmi dlhej dobe sa vraciam k programovaniu v PHP a potreboval by som pomoct s rozpamatanim sa. Viem, google je tu pre nas ale nie a nie sa dopatrat informacie ktoru potrebujem tak sa chcem obratit na vas.

Chcem z tabulky vydolovat meno podla id. Jednoduchy prikaz co mi nedava spat.

pouzivam tento prikaz:

<?php

 $zaznam = dbquery("SELECT `name` FROM user WHERE id='1'");

echo $zaznam; 
?>

v subore sa dovolavam funkcie.php kde:

function dbquery($query) {
	$result = @mysqli_query($query);
	if (!$result) {
		echo mysqli_error();
		return false;
	} else {
		return $result;
}};

Neviem kde mam chybu, ale $zaznam mi nic nevypise v indexe.

Moze mi prosim niekde helpnut? :)

Diik moc

Nahlásit jako SPAM
IP: 95.105.220.–
Kit+15
Guru
9. 7. 2017   #2
-
0
-

#1 Qip2
V proměnné $result se nenachází výsledek, ale pouze ukazatel na výsledek. Data dostaneš až zavoláním některé z funkcí mysqli_fetch_*().

BTW: Divím se, kolik lidí ještě používá databázový ovladač MySQLi. Ten jsem úplně přeskočil, protože mi připadal stejně kostrbatý jako ovladač MySQL.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Qip20
Duch
9. 7. 2017   #3
-
0
-

#2 Kit

Dakujem za odpoved.

v PHP som sa hrabal este ked bola vo verzii 4.x preto som iba doplnil mysql i (stary zvyk). Aj vecina priruciek pouziva mysqli i od 2013. Mate nejake odporucanie na nieco aktualnejsie pre pouzivanie?

Nahlásit jako SPAM
IP: 95.105.220.–
Kit+15
Guru
9. 7. 2017   #4
-
0
-

#3 Qip2
Od verze PHP 5.1 funguje PDO, tedy objektový ovladač pro většinu relačních databází. Výhodou je, že se dají ovládat jednotně. PDO se dá snadno nastavit tak, aby při selhání připojení nebo při nevalidním dotazu vyhodil výjimku, která se pak snadno zpracovává. Nemusíš vkládat @ ani testovat návratové kódy. I názvy metod jsou kratší a kód je tak přehlednější.

V daném případě použití vypadá následovně: 

<?php

$id = 1;
$select = $pdo->prepare("SELECT `name` FROM user WHERE id=?");
$select->execute(array($id));
$zaznam = $select->fetch(PDO::FETCH_ASSOC);if ($zaznam === false) {    throw new Exception("User not selected");}echo $zaznam['name'];

Máš to s ošetřením vstupů i nenalezeného obsahu. Můžeš do $id klidně dát neošetřený vstup od uživatele.

Dalo by se to ještě zjednodušit, ale chtěl jsem ti ukázat základ.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
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, 4 hosté

Podobná vlákna

Pomoc — založil piwolukas

Pomoc — založil Aikon

 

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