Wat doet mysql_nuw_rows in deze code?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

Ervaren senior C# developer in Arnhem gezocht

Organisatie Voor een van mijn businesspartners uit de omgeving van Arnhem ben ik op zoek naar een ervaren senior C# ASP.NET developer. Deze organisatie maakt complexe software producten voor bepaalde bedrijfsprocessen. Denk hierbij aan beslisregelsystemen, klachtenmanagementsystemen, digitale formulieren of een combinatie hiervan in één portaal. De software wordt specifiek op elke klant zijn wens aangepast. Bij de klanten moet je denken aan enerzijds provincies, gemeenten en overheidsinstanties en anderzijds aan banken, hypotheekverstrekkers en verzekeringsmaatschappijen. Binnen het bedrijf, van circa zestig man groot, heerst een informele sfeer. Collegialiteit staat er hoog in het vaandel, wat je terugziet in de wekelijkse vrijdagmiddagborrel

Bekijk vacature »

Jerry php

Jerry php

02/11/2011 12:43:44
Quote Anchor link
Ik heb van school deze code gekregen, alleen heb ik geen gelegenheid gehad om het te vragen, daarom raadpleeg ik even het forum. Mijn vraag ik wat mysql_nuw_rows hier voor functie heeft, want ik weet dat hij de rijen in een tabel telt, maar hij zegt dat als hij meer is als 0 dat hij dan niet bestaat, maar dat snap ik niet?
Ik snap wel dat het iets te maken heeft met het email die hij ook bij $query pakt.

Kan iemand het me uitleggen?

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
<?php

include "dbconfig.php";

if(isset($_POST['registreren']))
{

    $email = $_POST['email'];
    $wachtwoord = $_POST['wachtwoord'];
    $query = "SELECT * FROM gebruikers WHERE email='$email'";
    
    $result = mysql_query($query, $connect)
            or die(mysql_error());
    
    if(mysql_num_rows($result) > 0)
    {

        $tekst = "Dit e-mailadres bestaat al.<br />
                  <a href=registreren.php>Opnieuw registreren</a>"
;
    }

    
    else
    {
        $query = "INSERT INTO gebruikers (email, wachtwoord)
                  VALUES ($email, $wachtwoord)"
;
        
        $result = mysql_query($query)
            or die(mysql_error());
        
        $tekst = "Bedankt voor uw aanmelding. <br />
                  Je kunt nu <a href=inlog.php>hier</a> inloggen."
;
    }


    die ($tekst);
    
}


?>


Groet jerry
 
PHP hulp

PHP hulp

21/09/2019 12:05:20
 
Jasper DS

Jasper DS

02/11/2011 12:45:02
Quote Anchor link
ik zou toch nog eens naar de leerkracht gaan met deze code want dit is niet correct.

- checken of er gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
- Wachtwoord is niet gecodeert
- or die is geen foutafhandeling

voor info over mysql_num_rows kan je naar de documentatie gaan.
Gewijzigd op 02/11/2011 12:47:19 door Jasper DS
 
- Ariën -
Beheerder

- Ariën -

02/11/2011 12:45:16
Quote Anchor link
Kijken of het aantal hoger is dan 0, in dat geval bestaat het mail-adres is.

En waarom die die() op het eind? Als ik iets goeds doe, moet een mens dan ook dood?
Gewijzigd op 02/11/2011 12:47:07 door - Ariën -
 
- SanThe -

- SanThe -

02/11/2011 12:53:38
Quote Anchor link
Al de 'oude fouten' uit je vorige posts zitten hier weer in. Lees je vorige posts nog eens door. Script is ook nog eens lek => sql-injection.
 
Jerry php

Jerry php

02/11/2011 22:33:36
Quote Anchor link
Gelukkig is alle commentaar voor mijn "leraar".

Het is inderdaad nog niet uitgebreid, dus laat de sql-injection en de gecodeerde wachtwoorden maar even weg.

Ikzelf zou inderdaad die $tekst niet op deze manier doen, maar op de manier met een array, en de array later uitlezen. Toch?

De oude fouten zijn niet van mij. Ik zou namelijk eerst kijken of het gepost is, en dan pas variablen gaan maken etc.

Maar even op mijn vraag in te komen, en dan antwoord te geven op @aar.

Als hij dan 0 is, dan heeft hij toch nog geen inhoud, dus bestaat het email adres niet, dus dan geeft hij toch een error aan omdat de $result niet gevonden kan worden?
 
Jelmer -

Jelmer -

02/11/2011 23:01:38
Quote Anchor link
Nope. Een geldige query die geen resultaten oplevert is nog steeds een geldige query. En die kan prima uitgevoerd worden, dus mysql_query() zal gewoon slagen.

Waar jij het waarschijnlijk mee verwart is mysql_fetch_assoc aanroepen op het resultaat. Dat zal ook zonder fouten gaan, behalve dat je niet een array met de velden terugkrijgt, maar false, omdat het het laatste resultaat is. Als je daar niet rekening mee houdt, dan krijg je inderdaad foutmeldingen.

edit: technischere uitleg: mysql_query geeft een verwijzing naar de plek waar de resultaten staan terug, maar dus niet de resultaten zelf. Je kan dan met mysql_num_rows kijken hoeveel resultaten er zijn, en met mysql_fetch_assoc kan je een voor een de resultaten ophalen en omzetten in een PHP array.
Gewijzigd op 02/11/2011 23:03:53 door Jelmer -
 
Jerry php

Jerry php

03/11/2011 09:41:04
Quote Anchor link
Duidelijke uitleg, 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.