OOP - MySQL trida - vyreseno - preklep v construct – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

OOP - MySQL trida - vyreseno - preklep v construct – PHP – Fórum – Programujte.comOOP - MySQL trida - vyreseno - preklep v construct – PHP – Fórum – Programujte.com

 

DarkLifeCZ0
Newbie
8. 8. 2008   #1
-
0
-

Ahoj začínám v OOP, a hledám dívku, která umí PHP, aby mne doučila :-) zatím jsem nenašel. A tak žádám o pomoc tady. Mám problém kód my hlásí chybu:

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in X:\LocalHost\www\eshop\include\Inicializace.inc.php on line 25
Nepodarilo se vypsat seznam práv!


Hledaj jsem na netu a našel jsem spoustu řešení, ale ani jedno mi nefungovalo...
<?php

class Inicializace {
// Veřejné proměnné
public $admin;
// Chráněné proměnné
protected $dbtable;
protected $connect;
protected $db;
// Privátní proměnné
private $query;
private $result;
private $row;

## Pripojení na databázi
protected function __contruct($dbserver, $dbuser, $dbpass, $dbase, $dbtable) {
// Spojení
$this->connect = mysql_connect($dbserver, $dbuser, $dbpass) or die("Chyba v pripojení na databázový server!");
$this->db = mysql_select_db($dbase, $this->connect) or die("Chyba v pripojení na databázi!");
$this->dbtable = $dbtable;
}

## Kontrola práv
public function access($ip) {
$this->query = "SELECT ip, access FROM ".$this->dbtable." WHERE ip = '".$ip."';";
$this->result = mysql_query($this->query, $this->connect) or die("Nepodarilo se vypsat seznam práv!");
if (mysql_num_rows($this->result) == 1) {
$this->row = mysql_fetch_array($this->result);
$this->admin = $this->row['access'];
} else {
$this->admin = 0;
}
mysql_free_result($this->result);
}

## Odpojení databáze
public function __destruct() {
if (@mysql_close()) {
echo "<b>Odpojeno!</b>";
}
}
}
?>

Nastavení na připojení k serveru, databázi i k tabulkám mám správný. Zkoušel jsem dát před mysql_num_rows() funkci mysql_error(), která mi, ale nic nevyhodila. Budu rád, když mi poradíte, díky všem...

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #2
-
0
-

To DarkLifeCZ : prvni bych asi zapl v PHP kompeltni vypisy chybovych hlasek...

druhy: pokud pouzijes die("") tak uz je jedno co je za nim... die proste zabije script a jestli je neco za nim je uz jedno proste se nic dalsiho neprovede...
(doporucuju vyhodit to or die("") pak teprve ti to muze neco vypsat )

jinak neni spatne OO reseni pristupu k databazi pomoci balicku PEAR::MDB2

Nahlásit jako SPAM
IP: 80.250.1.–
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #3
-
0
-

ci jeste lepsi:

or die(mysql_error())


:smile5:

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #4
-
0
-

Děkuji za rady, ale není to nic platný, výpis po odrstranění or die(); i s ním je stále stejný akorád mi to vyhodí další chyby, které jsou jasné.


Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in X:\LocalHost\www\eshop\include\Inicializace.inc.php on line 25

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in X:\LocalHost\www\eshop\include\Inicializace.inc.php on line 27

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in X:\LocalHost\www\eshop\include\Inicializace.inc.php on line 33
Prístup povolen

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #5
-
0
-

To DarkLifeCZ : vypis si i ten sql dotaz... a zkus ho pak primo na databazi... muzes mit i nejak blbe pojmenovany promenny a budes muset uzavrit je mezi `...`

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #6
-
0
-

To KIIV : Zase tak blbej nejsem ten SQL dotaz mi funguje, to bylo první co jsem zkoušel

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #7
-
0
-

jo jeste me napadlo... nepouzivas vic tech objektu a destruktoru:

 ## Odpojení databáze


public function __destruct() {

if (@mysql_close()) {

echo "
<b>Odpojeno!</b>
";

}

}


doporucoval bych se zbavit spojeni pomoci mysql_close($this->connect)

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #8
-
0
-

To KIIV : Žádný efekt... ...,ale i tak díky, přesto všechny moje objekty mají connect protected a nikdy nekopíru nebo nevkládám je do sebe

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #9
-
0
-

To DarkLifeCZ : tady spis jde o to ze kdo vi ktere spojeni na databazi bude v tom defaultnim... a ty ukoncujes defaultni protoze mas mysql_close( ) bez parametru... dobry ohlidat vsechny close...

jo a ses si opravdu ale opravdu jist ze volas tendle konstruktor? ze ti to nehodi nejakej implicitni?

Nahlásit jako SPAM
IP: 80.250.1.–
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #10
-
0
-

hod schvalne do konstruktoru nejakej vypis ... jako pripojil sem se do databaze, nahodil tabulku .....

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #11
-
0
-

To KIIV : A? A máme chybu, to je super. nevypsalo to... :-) Teď jen jak to opravit. Díky moc za najití chyby...

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #12
-
0
-

To DarkLifeCZ : mas u toho konstruktoru nekolik parametru
takze musis pridat pri vytvareni tridy

neco jako $blabla = new Inicializace("server","login","heslo",...)

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #13
-
0
-

To mám

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #14
-
0
-

dal si vsech 5 promennejch?

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #15
-
0
-

To KIIV :
Ano mám tam všech 5 proměnných. Ale nefunguje.
Když ovšem předělám onu __construct na construct a vyvolám ji speciálně vedle, tak ejhle jsem připojen
--------------------------
30 sekund poté....
JSEM DEBIL VŠEM SE OMLOUVÁM
podívejte se do toho skriptu, já tam dal contruct místo construct :D
Díky všem za rady, aspoň jsem se něco naučil.
Ale tohle je teda haluz :D
------------------------
Prosím o LOCK nebo VÝMAZ, díky :-)

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #16
-
0
-

hm a ja se jen koukal jestli je nejaky __construct :DD ale ze tam mas chybu sem prehlidl :smile6:

Nahlásit jako SPAM
IP: 80.250.1.–
DarkLifeCZ0
Newbie
8. 8. 2008   #17
-
0
-

To KIIV : Ja taky jinak bych to dávno opravil, nakonec jsem měl ten skript správně :D

Nahlásit jako SPAM
IP: 77.78.64.–
With Love your Dark Life, for your dark life :-)
KIIV
~ Anonymní uživatel
8632 příspěvků
8. 8. 2008   #18
-
0
-

jen v tom destruktoru by to delalo pitomosti pokud bys mel vic pripojenejch databazi

Nahlásit jako SPAM
IP: 80.250.1.–
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, 5 hostů

Podobná vlákna

Třída OOP — založil Tomáš Havlíček

Oop, zacyklena trida — založil .

Mysql a oop — založil netman92

 

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