MySQL database class

Door Mitch X, 23 jaar geleden, 16.161x bekeken

Voorbeeld gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
# Class includen
include 'database.class.php';

# Object aanmaken
$db = new database( 'user', 'pass', 'database' );

# Kijken of deze query resultaat heeft
if( $db->num_rows( 'SELECT * FROM tabel' ) > 0 )
{

   # Resultaat ophalen
   $data = $db->get_array( ); // geen query nodig! Hij 'onthoud' het resultaat van de vorige query
}

# Nog een keer diezelfde array? Geen probleem :)
$data2 = $db->get_array( NULL, true );

# Laatste id van een query nodig?
$laatsteid = $db->insert_id( 'INSERT INTO tabel ( veld1, veld2 ) VALUES ( 1, 2 )' );

# Weten hoeveel rows je update query deed?
$aantalrows = $db->affected_rows( 'UPDATE table SET veld1 = 2 WHERE veld2 = 1' );

# Een 'gewo0ne' query kan ook
$db->run_query( 'SELECT * FROM tabel' );

# En als laatste ruim je je rotzooi op
destruct( 'db' );
?>

Gesponsorde koppelingen

PHP script bestanden

  1. mysql-database-class

 

Er zijn 19 reacties op 'Mysql database class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


23 jaar geleden
 
0 +1 -0 -1
ziet er goed uit! ook veel #commentaar
Han eev
Han eev
23 jaar geleden
 
0 +1 -0 -1
vet leuk script (Y) goeie uitleg
B a s
B a s
23 jaar geleden
 
0 +1 -0 -1
goeje sjizzel !!
Jelle Posthuma
Jelle Posthuma
23 jaar geleden
 
0 +1 -0 -1
Wat kan je ermee?
Legolas
Legolas
23 jaar geleden
 
0 +1 -0 -1
Dat staat in de toelichting :)


23 jaar geleden
 
0 +1 -0 -1
Stell je wilt alle waarden in het veld uren afdrukken hoe zou je dat dan doen?


23 jaar geleden
 
0 +1 -0 -1
Hmmm, dit zijn de beter programmeurs.


Ps: Waarom laat dat je de destruct weer buiten de classe laat vallen?

$DB->free(); of $DB->destroy(); (Was toch ook goed geweest?)

Oja, en als laatste (ben geen php maar delphi programmeur) is er geen 'CONSTRUCTOR' en 'DESTRUCOTOR' in de OO van PHP?


voorbeeld delphi:

Type
TDatabaseNieuw = class(TDatabaseOud) (Overerving van de class: TDatabaseOud)
private
isConnected: Boolean;
procedure DitIsEenVerborgenProcedure();
function getConnected: Boolean;
procedure SetConnected(Value: Boolean);
protected
procedure DezeKanAlleenBinnenDeUnitWordenAangeroepen();
public
function NumRows(Query: TQuery): integer;


---> constructor Create(AOwner: TObject; UserName, Password: String);

---> destructor Destroy();

published
property Connected:Boolean read getConnected write setConnected;
end;





constructor TDatabaseNew.Create(AOwner: TObject; UserName, Password: String);
begin
// Plaats hier je CREATE proc... bv: Mysql Connect....
Connected := Connect(UserName,Password);
end;

destructor TDatabaseNew.Destroy();
begin
Connected := False;
Self.Free;
end;



Hoe werkt PHP met overerving ?


class A {
function example() {
echo "I am the original function A::example().<br />\n";
}
}

class B extends A {
function example() {
echo "I am the redefined function B::example().<br />\n";
A::example();
}
}


Moet je dan: A::example(); gebruiken?
Stel voor dat B pas de eerste class is die deze methode implementerd krijg ik dan een foutmelding?


Ps: Mooie code, kan je aanraden HTS-Informatica in Utrecht of Eindhoven te gaan doen. Je laat duidelijk zien dat je secuur en gestructureerd te werk gaat.
(Welke opleiding doe je nu?)
Mitch X
Mitch X
23 jaar geleden
 
0 +1 -0 -1
Onder het motto 'beter laat dan nooit' een korte reactie ;)
Quote:
[knip]
Ps: Waarom laat dat je de destruct weer buiten de classe laat vallen?

PHP kent geen destructor, die moet je dus maar zelf bedenken ;)
Quote:
Oja, en als laatste (ben geen php maar delphi programmeur) is er geen 'CONSTRUCTOR' en 'DESTRUCOTOR' in de OO van PHP?

PHP kent wel een constructor, maar geen destructor.
Vandaar dat ik een 'eigen' destructor moest maken.
Quote:
[knip]
Hoe werkt PHP met overerving ?

class A {
function example() {
echo "I am the original function A::example().<br />\n";
}
}

class B extends A {
function example() {
echo "I am the redefined function B::example().<br />\n";
A::example();
}
}

Dat werkt gewoon zoals het 'hoort' :)
De A::example() geeft z'n output, de B::example() ook.

Quote:
Moet je dan: A::example(); gebruiken?
Stel voor dat B pas de eerste class is die deze methode implementerd krijg ik dan een foutmelding?

Je kunt gewo0n class B oproepen zonder A te gebruiken.

Quote:
Ps: Mooie code, kan je aanraden HTS-Informatica in Utrecht of Eindhoven te gaan doen. Je laat duidelijk zien dat je secuur en gestructureerd te werk gaat.
(Welke opleiding doe je nu?)

Ik doe nu VWO5, ik weet nog niet wat ik ga doen ;)
Mitch X
Mitch X
23 jaar geleden
 
0 +1 -0 -1
Bugfix!
De destructor bleek niet altijd goed te werken, is nu gefixt :)
Mitch X
Mitch X
23 jaar geleden
 
0 +1 -0 -1
Ik zag net dat de door mij gebruikte versie nieuwer is dan deze.
Dat is nu opgelost.
Er is een nieuwe functie bijgekomen, die nare errors zou kunnen voorkomen als je tabel niet bestaat.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
find_table( $table, $database )
?>

Die dus, ook handig om bij een install script te waarschuwen dat ie al bestaat :)
Katjan
katjan
22 jaar geleden
 
0 +1 -0 -1
ik zou wel graag wat meer error reporting zien..
Katjan
katjan
22 jaar geleden
 
0 +1 -0 -1
Quote:
function num_rows( $sql = NULL )
{
# Kijken of er een query meegegeven is, zo ja uitvoeren
if( $sql != NULL )
$this->run_query( $sql );

# Mysql_num_rows uitspugen
return mysql_num_rows( $this->res );
}

zoals hier, als je query faalt, dan krijg je meteen zon php fout. of, nog erger, je krijgt data waar je niks mee kan.. (ikzelf heb al meerdere systeemcrashes gehad hierdoor!)
Katjan
katjan
22 jaar geleden
 
0 +1 -0 -1
en voor zover ik weet.. heeft php 5 wel een destructor..

even een stukkie code..

class database{
function __construct($p_sData){
echo $p_sData;
}
function __destruct(){
echo "destructed";
}
}

$db_test = new database("initialized");
//returnt initialized als het goed is.. (bij mij klopt t)
$db_test = null;
//geeft bij mij destructed terug.. destructor werkt gewoon..
Koos-Bert
Koos-Bert
22 jaar geleden
 
0 +1 -0 -1
Ik weet eigenlijk niet zo veel over objecten, maar als ik het zo zie is het eigenlijk gewoon een serie functies bij elkaar?
Wat zou een class meer kunnen dan een groep functies onder elkaar zonder class?


22 jaar geleden
 
0 +1 -0 -1
Er staan een paar tutorials op deze site. Zoek even. :-)
Koos-Bert
Koos-Bert
22 jaar geleden
 
0 +1 -0 -1
Hoo, shit, verkeerde. Ik dacht even dat dit "Wat is object georienteerd programmeren?" was, maar ik zat op het verkeerde tabblad ;-)


22 jaar geleden
 
0 +1 -0 -1
Mooi, je surft met een niet microsoft browser. Goedzo :-)
Woopie100
Woopie100
22 jaar geleden
 
0 +1 -0 -1
hmm tegenwoordig heeft microschoft firefox nagenaaid
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Dutch Caffeine
Dutch Caffeine
20 jaar geleden
 
0 +1 -0 -1
ha dat mogen ze ook doe met de css. :--)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. mysql-database-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.