SELECT COUNT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sven b

Sven b

12/07/2011 09:03:19
Quote Anchor link
Hallo iedereen,

Ik heb twee dezelfde select counts op pagina x en pagina y. Op pagina x werkt hij wel en de andere pagina niet. Ik vind dit zeer vreemd. Hoogst waarschijnlijk dat ik alsnog wat fout doe of iets over het hoofd zie.

Deze werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
// controlleren of de gebruikte naam al aanwezig is
        if(isset($_POST['submit']) AND (!empty($voornaam)) AND (!empty($achternaam))){
            $count = mysql_query("SELECT COUNT(1) FROM `tpersonen` WHERE `voornaam` = '{$voornaam}'
                          AND `achternaam` = '{$achternaam}'");
            $count = mysql_result($count,0);
        }


En deze werkt niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
// check if there is a 'key' in the url and retrieve it
if (isset($_GET['key'])){
    $get_key = $_GET['key'];
    $check_key = mysql_query("SELECT COUNT(1) FROM tpersonen WHERE active_key = '{$get_key}'");
    $check_key = mysql_result($check_key, 0);
    echo $check_key;


Als ik deze code uitvoer geeft hij aan dat hij bij mysql_result een bolean zou verwachten, maar er komt op het moment niks uit. Werkt een count niet als ik verschillende characters gebruik?

Alle hulp is welkom!

Groetjes Sven
 
PHP hulp

PHP hulp

18/04/2024 10:41:29
 
Rolf -

Rolf -

12/07/2011 09:16:25
Quote Anchor link
Misschien heeft het iets te maken met de if-statement. Die sluit je bij de tweede namelijk niet af :)
 
Sven b

Sven b

12/07/2011 09:21:43
Quote Anchor link
Die sluit ik in het voorbeeld inderdaad niet af, maar dat doe ik in mijn code wel. Deze if statement wordt heel laat afgesloten en daartussen komen nog een aantal if statements. Echter zou er dan een andere error moeten ontstaan als het afsluiten van een block niet zou kloppen.
 
Maikel  B

Maikel B

12/07/2011 09:29:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$get_key = $_GET['key'];
    $check_key = mysql_query("SELECT COUNT(1) FROM tpersonen WHERE active_key = '{$get_key}'");


Waarom onnodige variabelen aanmaken? Je kunt toch ook gewoon het volgende doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$check_key = mysql_query("SELECT COUNT(1) FROM tpersonen WHERE active_key = '".$_GET['key']."'");
 
Joris van Rijn

Joris van Rijn

12/07/2011 09:30:12
Quote Anchor link
Allebei verkeerd..
Mysql injection.
 
Wouter J

Wouter J

12/07/2011 09:32:23
Quote Anchor link
- Verbeter eerst eens je foutafhandeling.
- Ga niet 3 keer een variabele opnieuw gebruiken geef ze gewoon een andere naam.
- Gebruik geen backtricks in SQL
- Gebruik geen haakjes in SQL
- Zet variabele buiten de quotes
- Niet onnodig variabele aanmaken
- SQL injection mogelijk, gebruik mysql_real_escape_string
Gewijzigd op 12/07/2011 09:33:17 door Wouter J
 
Sven b

Sven b

12/07/2011 10:51:27
Quote Anchor link
Hallo,

Bedankt voor alle posts. Ik heb het al veranderd in het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$get_key = mysql_real_escape_string($_GET['key']);
    $check_key = mysql_query("SELECT COUNT(1) FROM tpersonen WHERE active_key = '{$get_key}'");
    $check_key = mysql_result($check_key, 0);


In eerste instantie was het onnodig om de variable aan te maken. Echter heb ik nu een mysql_real_escape_string ervoor gezet. De code werkt nu wel. Als er nog ergens haakjes weg moeten dan hoor ik het graag.
 
Wouter J

Wouter J

12/07/2011 10:59:03
Quote Anchor link
Volg eens al mijn punten op en niet maar 1 punt.
 



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.