hulp bij database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy berger

roy berger

20/10/2010 21:58:29
Quote Anchor link
hallo,

ik ben net begonnen op php te leren en nu wou ik iets uit een database halen. daar heb ik dit script voor:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sHostname
= 'db.112hulpdiensten-apd.nl' ; //Is meestal localhost
$sUsername = 'md180685db133810' ;
$sPassword = '******' ;
$sDatabase = 'md180685db133810' ;
$rsConnection = mysql_connect($sHostname, $sUsername, $sPassword) ;
mysql_select_db($sDatabase, $rsConnection) ;
$sql = mysql_query('SELECT `leeftijd`, `naam`, `id` * FROM `tbltest`');
echo $sql ;
?>


natuurlijk heb ik een database aangemaakt met ene tabel genaamd tbltest, en dri kolommen aangemaakt namelijk: id, naam, leeftijd.

maar als ik deze pagina upload en dan open dan krijg ik een leeg scherm, heeft iemand een idee wat ik fout doe??

alvast bedankt
 
PHP hulp

PHP hulp

29/11/2020 14:30:35
 
Meddiecap B

Meddiecap B

20/10/2010 22:06:27
Quote Anchor link
zet dit eens boven aan de pagina

error_reporting(E_ALL);
ini_set("display_errors", 1);

Dan kun je errors zien, en dan zie je misschien beter waar het mis gaat.
Gewijzigd op 20/10/2010 22:07:45 door Meddiecap B
 
Vincent Huisman

Vincent Huisman

20/10/2010 22:08:08
Quote Anchor link
in jouw $sql staat ook niet zoveel, lees een een sql tutorial door. Ook kan je beter geen backtics gebruiken (`).
 
Roy berger

roy berger

20/10/2010 22:10:34
Quote Anchor link
dan geeft hij alsnog een lege pagina
 
Meddiecap B

Meddiecap B

20/10/2010 22:21:03
Quote Anchor link
Maak van dit:

$sql = mysql_query('SELECT `leeftijd`, `naam`, `id` * FROM `tbltest`');

...eens:

$sql = mysql_query('SELECT `leeftijd`, `naam`, `id` * FROM `tbltest`') or die ('Fout: ' . mysql_error());

Zo kun je zien of de query wel juist is.

Probeer ook eens:

echo 'In $sql zit: '.$sql;
 
- Ariën -
Beheerder

- Ariën -

20/10/2010 22:22:04
Quote Anchor link
Quote:
$sql = mysql_query('SELECT `leeftijd`, `naam`, `id` * FROM `tbltest`') or die ('Fout: ' . mysql_error());

die() == kerkhof tactiek. Als jij iets fout doet ga je toch ook niet dood?
Laten we zulke fouten gewoon netjes afhandelen....


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
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

$sHostname = 'db.112hulpdiensten-apd.nl' ; //Is meestal localhost
$sUsername = 'md180685db133810' ;
$sPassword = '******' ;
$sDatabase = 'md180685db133810' ;
$rsConnection = mysql_connect($sHostname, $sUsername, $sPassword) ;
mysql_select_db($sDatabase, $rsConnection) ;
$result = mysql_query('SELECT leeftijd,naam,id FROM tbltest');
if($result) {
 while($data = mysql_fetch_assoc($result)) {
   print_r($data);
 }
}
else {
echo "Er is een fout opgetreden in de query: ".mysql_error();
}

?>
Gewijzigd op 20/10/2010 22:23:29 door - Ariën -
 
Meddiecap B

Meddiecap B

20/10/2010 22:29:49
Quote Anchor link
Lol @ kerkhof tactiek.
Jou manier is beter idd, maar voor een beginner mss een beetje te gevorderd...

Maargoed, @roy, je weet nu hoe je de fout netjes afhandelt.
 
- Ariën -
Beheerder

- Ariën -

20/10/2010 22:45:28
Quote Anchor link
Ver gevorderd?
If-else gebruik is een van de basics die men hoort te kennen, en op de juiste manier hoort te gebruiken.

Blijft vrij sneu dat veel tutorials en boeken liever die() gebruiken.
 
Aad B

Aad B

20/10/2010 23:40:44
Quote Anchor link
Het is af te raden om de URL van de db als hierboven te publiceren. Er lezen misschien ook minder betrouwbare figuren mee....
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
ping db.112hulpdiensten-apd.nl
PING db.112hulpdiensten-apd.nl (81.4.97.167) 56(84) bytes of data.
64 bytes from blade32.geenpunt.nl (81.4.97.167): icmp_seq=1 ttl=58 time=7.01 ms
64 bytes from blade32.geenpunt.nl (81.4.97.167): icmp_seq=2 ttl=58 time=6.96 ms
64 bytes from blade32.geenpunt.nl (81.4.97.167): icmp_seq=3 ttl=58 time=8.02 ms
Gewijzigd op 20/10/2010 23:42:26 door Aad B
 
- Ariën -
Beheerder

- Ariën -

21/10/2010 00:31:19
Quote Anchor link
En wat willen die dan doen?
Mag aannemen dat menig systeembeheerder de boel goed dichtgespijkerd heeft.
 
John D

John D

21/10/2010 08:53:30
Quote Anchor link
Aar anoniem op 21/10/2010 00:31:19:
En wat willen die dan doen?
Mag aannemen dat menig systeembeheerder de boel goed dichtgespijkerd heeft.
Dit is een naieve veronderstelling. Google maar eens op brute force en brute force password
 
- Ariën -
Beheerder

- Ariën -

21/10/2010 09:08:46
Quote Anchor link
Kan je net zo goed op mening webserver een brute force proberen te doen. In 99% van de gevallen draait daar al en MySQL-server op.

Als hij goed beveiligd is, kan je met een brute force ook niks doen.
Gewijzigd op 21/10/2010 09:09:08 door - Ariën -
 
TJVB tvb

TJVB tvb

21/10/2010 09:37:23
Quote Anchor link
John D op 21/10/2010 08:53:30:
Aar anoniem op 21/10/2010 00:31:19:
En wat willen die dan doen?
Mag aannemen dat menig systeembeheerder de boel goed dichtgespijkerd heeft.
Dit is een naieve veronderstelling. Google maar eens op brute force en brute force password


Ik vermoed dat Aar ook bedoelt dat je niet van overal toegang mag krijgen tot de database server?
 
Milo S

Milo S

21/10/2010 09:57:47
Quote Anchor link
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
30
31
32
33
34
35
36
37
38
39
<?php
# De query
$qry = "SELECT
            id,
            naam,
            leeftijd
        FROM
            tbltest
        ORDER BY
            naam
        ASC"
;

# De query uitvoeren
if( $sql = mysql_query( $qry ) )
{

    # Als er resultaten zijn
    if( mysql_num_rows( $sql ) > 0 )
    {

        # Data weergeven
        while( $rec = mysql_fetch_assoc( $sql ) )
        {

            echo $rec['id'].'<br />';
            echo $rec['naam'].'<br />';
            echo $rec['leeftijd'].'<br />';
        }
    }

    else
    {
        # Er zijn geen resultaten error
        echo 'Er zijn geen resultaten.';    
    }
}

else
{
    # Fout in query error, vergeet niet als de site af is de regel met mysql_error() weg te halen...
    echo 'Er is een fout opgetreden in de query. <br />';
    echo mysql_error();
}

?>



Hierboven zoals het hoort, met alle checks en wat commentaar zodat je weet wat je daar doet.
If statement is inderdaad gewoon basic, dus leer dat ook gewoon.
 
John D

John D

21/10/2010 10:08:33
Quote Anchor link
@Milo: Om nog even fijn te slijpen: # Er zijn geen resultaten error
Geen resultaat oftewel geen records gevonden is geen error maar ook een correct resultaat technisch gezien.
 
- Ariën -
Beheerder

- Ariën -

21/10/2010 10:09:23
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
# Fout in query error, vergeet niet als de site af is de regel met mysql_error() weg te halen...
    echo 'Er is een fout opgetreden in de query. <br />';
    echo mysql_error();


Of zorg dat die alleen getoond worden op jouw gebruikersaccount, als je die hebt op je site, of anders je IP.
 
Milo S

Milo S

21/10/2010 13:38:03
Quote Anchor link
@ John D, tja klopt wat je zegt, al kan je het wel beschouwen als een error aangezien je wilt dat er records zijn.

@ Aar, dat kan ook maar dit is persoonlijke voorkeur. Hoe dan ook de gewone gebruikers het lekker niet laten zien.
 
Roy berger

roy berger

21/10/2010 13:51:43
Quote Anchor link
het is gelukt, allemaal bedankt
 



Overzicht Reageren

 
 

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.