login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Nette SQl Code ?

Offline WimJ - 25/02/2008 21:52
Avatar van WimJGrafische gevorderde Beste Leden,

Ben nu bezig aan eigen tutorial systeem te maken
Nu als je vanaf 0 begint..

Begin ik met een database connectie.
Nu ik maak deze in een externe file voor de veiligheid.
Heb nu het volgende.

  1. <?php
  2.  
  3. // database_connect.php
  4.  
  5. // Gegevens opgeven voor de verbinding met de database.
  6.  
  7. $host="localhost";
  8. $gebruiker="";
  9. $wachtwoord="";
  10. $database = "" ;
  11.  
  12. // We maken verbinding met de server door middel van onderstaande opdracht.
  13.  
  14. if (!$connection = mysql_connect($host ,$gebruiker ,$wachtwoord))
  15. {
  16. $bericht = mysql_error();
  17. echo "$bericht <br>";
  18. die();
  19. }
  20.  
  21. // We maken verbinding met de database door middel van onderstaande opdracht.
  22.  
  23. $db = mysql_select_db($database , $connection)
  24. or die ("De verbinding met de database kon niet tot stand worden gebracht.");
  25.  
  26. ?>


Ik zou deze graag nog beveiligen tegen allelei andere HOOFD rotzooi
Dus zo goed mogelijk liefst..
Iemand een   wat ik nog kan toevoegen en hoe ik dat doe ?

En ook is dit een nette verstaanbare code ?
Netjes gescripted of ?

Nujah eeuhm comments please  

10 antwoorden

Gesponsorde links
Offline Ibrahim - 25/02/2008 22:00
Avatar van Ibrahim PHP expert 1) Het is nooit slim om op een productie website MySQL errors weer te geven

2) Die ifjes hebben niet egt een speciale stijl, je kunt beter gebruik maken van standaarden zoals Hongarian

3) MySQL gegevens kun je best buiten de public_html map plaatsen (advies van Proximus)

4) Je hoeft bij mysql_select_db geen connectie op te geven, behalve als je met meerdere databases werkt
Offline WimJ - 25/02/2008 22:05 (laatste wijziging 25/02/2008 22:10)
Avatar van WimJ Grafische gevorderde Bedankt,

Dus dan moet ik gewoon een simpel bestandje maken met mijn waardes in, en deze dan plaatsen buiten min public_html map hé ?

en dan gewoon includen (lijkt me wel veilig)..

Nu over dat hongarian ofzo iets moet je eens wat meer uitleg geven.

En mischien als ik live ga met de website de mysql error weg halen (de echo ervan dan) en vervangen door een voorbeeld bericht ?

EDIT:

Heb ondertussen volgende code alvast gemaakt.

  1. <?php
  2.  
  3. // database_connect.php
  4.  
  5. // Gegevens ophalen uit het opgegeven bestand.
  6.  
  7. require_once('../dbfiles.php');
  8.  
  9. // We maken verbinding met de server door middel van onderstaande opdracht.
  10.  
  11. if (!$connection = mysql_connect($host ,$gebruiker ,$wachtwoord))
  12. {
  13. $bericht = ("Onze excuses voor het ongemak, de database is momenteel niet beschikbaar");
  14. echo "$bericht <br>";
  15. die();
  16. }
  17.  
  18. // We maken verbinding met de database door middel van onderstaande opdracht.
  19.  
  20. $db = mysql_select_db($database , $connection)
  21. or die ("De verbinding met de database kon niet tot stand worden gebracht.");
  22.  
  23. ?>


Nu nog wat uitleg of dit het is wat je bedoelt.
En wat dat is met die hongarians ofzo iets ?  
Offline marten - 25/02/2008 22:10
Avatar van marten Beheerder Maak in ieder geval gebruik van de PDO extensie.
Offline WimJ - 25/02/2008 22:12
Avatar van WimJ Grafische gevorderde Kan je me dit even toelichten marten ?

PDO Extensie ?
Voorwat het goed is, en hoe te gebruiken ?

PS:

Heb me vorig bericht bijgewerkt, van de code..
Onderste code is het momenteel.
Offline Rens - 25/02/2008 22:29 (laatste wijziging 25/02/2008 22:29)
Avatar van Rens Gouden medaille

Crew algemeen
Je zou een optie in kunnen bouwen waarmee je de errors aan/uit kunt zetten.
Dus gewoon een extra variabele in je config (of als je het helemaal dynamisch wilt maken je config in de database proppen (behalve dan MySQL gegevens e.d. natuurlijk)).
En dan een check als deze:
  1. <?PHP
  2. $sQuery = "bla";
  3. if(!$rResult = MySQL_Query($sQuery))
  4. {
  5. echo "Kan de query niet uitvoeren";
  6. if($aCfg['display_errors'] == 1)
  7. {
  8. echo MySQL_Error()."<br />";
  9. }
  10. }
  11. ?>


Dit zodat je niet je volledige code hoeft te doorzoeken naar de mysql_error functies... 
Offline Ibrahim - 25/02/2008 22:30
Avatar van Ibrahim PHP expert Hongarian is een scriptstijl:

  1. <?php
  2.  
  3.  
  4. if($count > 0) { echo 'Count is groter dan nul'; }
  5. // dit is onleesbaar, met Hongarian style wordt het:
  6.  
  7. if( $count > 0 )
  8. {
  9. echo 'Count is groter dan nul';
  10. }
Offline marten - 25/02/2008 22:35
Avatar van marten Beheerder PDO is een soort overkoepelende class over allerlei databases heen.
Als je nu MySQL, MS Access of een ander soort database gebruikt de syntax blijft altijd hetzelfde. Zo kan je makkelijk switchen van en naar bijvoorbeeld een Access database of naar een ander.
Offline WimJ - 25/02/2008 22:35 (laatste wijziging 25/02/2008 22:37)
Avatar van WimJ Grafische gevorderde @ Rens: die optie aan uit kan ik wel inbouwen ja  
dan moet ik toch werken met een klein if opdrachtje hé of hoe doe ik het anders ?

@ Psycho: Het is dus een stijl, dus geen programeertaal he ?
dus als ik het goed begrijp is Hongarian een soort nette opmaak van je code ?

EDIT:

@ Marten, jah het is momenteel niks anders dan MySQL 
Host odnersteund niet veel anders   (wel betalende hoor )

Offline Ibrahim - 26/02/2008 06:48 (laatste wijziging 26/02/2008 06:49)
Avatar van Ibrahim PHP expert ja, hongarian is gewoon een manier van scripten.

@opmerking tegen rens:
gewoon Rens zijn scriptje gebruiken?:p
Offline WimJ - 26/02/2008 13:06 (laatste wijziging 26/02/2008 13:06)
Avatar van WimJ Grafische gevorderde Ok deze moet ik gewoon invoegen dan in mijn code ?
Dus in dit geval de code die je hier regelmatig ziet verschijnen ?

En dan tegen 'SQL Injection' dat vindt dan plaats in het script zelf he ?
Heeft niks met de db connectie te maken hé ?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s