Eris Database class

Door Eris -, 17 jaar geleden, 2.174x bekeken

Voor dit script is PHP 5 + Mysqli extensie verplicht!

Omdat ik te lui ben om die sql querys te typen heb ik een class gemaakt die ik al 2 jaar gebruik. Mijn vorige versie is de PHP4 versie (met de mysql extensie).

Let op! Dit script checked geen user input.

Voorbeeld: Updaten van een tabel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(db::insert_row('tabelnaam',$_POST,$link_resource_van_mysql))){
  echo 'Database is aangepast';
}
else{
  echo 'Er is een fout op getreden.';
}

?>


Voorbeeld: Update tabel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(db::update_row('tabelnaam','key van de waarde',$_POST['id'],$_POST,$link_resource_van_mysql)){
echo 'Database is aangepast';
}
else{
echo 'Foutje';
}

?>

Voorbeeld: Selecteer alle rijen van een tabel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
//? gaan we later vervangen door de waarde die er moet komen
$rows = db::get_row('SELECT * FROM tabel WHERE id = "?"',$rLink,true,array($_GET['id']));
if(!empty($rows)){
  foreach($rows as $row){
  print_r($row);
}
}

?>


Zo zijn er nog wat functies

Om er zeker van te zijn dat errors worden weer gegeven worden alle mysqli_xxxx functies onderdurkt met een @ teken. Daarom wordt er bij mysqli_query() altijd een PHP error gegeneerd.

Geen last meer van dat oneindige insert, update. Daarnaast is het mogelijk om met 1 "opdracht" meerdere rijen te gelijk te updaten of te verwijderen. Voor de rest werkt het ideaal. Geen geklooi meer dat is het belangrijkste...

Alles werkt met arrays voro gemak ;)

Gesponsorde koppelingen

PHP script bestanden

  1. eris-database-class

 

Er zijn 7 reacties op 'Eris database class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
T H
T H
17 jaar geleden
 
0 +1 -0 -1
Ik wil niet flauw doen maar je hebt: 'Voor deze script is PHP 5 + Mysqli extensie verplicht!'.

Het is 'Voor dit script is PHP 5 + Mysqli extensie verplicht!'
Of 'Voor deze scripts is PHP 5 + Mysqli extensie verplicht!'

:) verder vind ik het script er goed uitzien, zal binnenkort eens testen :)

gr, tim
Jelmer -
Jelmer -
17 jaar geleden
 
0 +1 -0 -1
Naast dat ik je static aanpak niet helemaal vat, en dat daarbij 'eigenlijk' het sleutelwoord 'static' voor iedere functie mist, ziet hij er wel leuk uit.

Hij is alvast uitvoerig getest ;)
PHP Newbie
PHP Newbie
17 jaar geleden
 
0 +1 -0 -1
ziet er leuk uit ;-)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
//? gaan we later vervangen door de waarde die er moet komen
$rows = db::get_row('SELECT * FROM tabel WHERE id = "?"',$rLink,true,array($_GET['id']));
if(!empty($rows)){
  foreach($rows as $row){
  print_r($row);
}

?>


hier mist een } om de foreach te sluiten ;-)
Eris -
Eris -
17 jaar geleden
 
0 +1 -0 -1
Nu niet meer ;)
PHP Newbie
PHP Newbie
17 jaar geleden
 
0 +1 -0 -1
:-)
Martijn Wieringa
Martijn Wieringa
17 jaar geleden
 
0 +1 -0 -1
Ik heb veel problemen gehad met speciale karakters bij het opslaan/opvragen van gegevens bij PHP5 op nieuwere versies van MySQL.

Oplossing lag bij het 'handmatig' setten van de characterset.

Ik raad dan ook aan standaard in een DB class de characterset in te stellen in de constructor, en niet uit te gaan van de default settings van de mysql-server.

Run query: SET CHARACTER SET 'latin1'; (of welke taal je verkiest).
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Majid Ahddin
Majid Ahddin
17 jaar geleden
 
0 +1 -0 -1
hoe maak ik deze query:

UPDATE tabel SET aap=aap+noot, mies=NOW(), noot=IF(3==aap,'1','0') WHERE id > 2;

Of zelfs deze:

SELECT * FROM tabel WHERE id < kolom;

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

Inhoudsopgave

  1. eris-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.