record toevoegen, maar niet als die al bestaat

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

F Farmer

F Farmer

11/05/2011 14:45:29
Quote Anchor link
Bij het volgende probleem wil ik categorieën kunnen toevoegen, dat lukt wel. Alleen er moeten geen lege records toegevoegd kunnen worden. En er moeten geen categorieën die al bestaan toegevoegd worden.

Het probleem is dat die nu tegen alles zegt wat ik toevoeg dat die al bestaat, dus ik denk dat ik een foute SQL code heb ofzo.

Kan iemand bij helpen?

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
    <?php
include("db_connect.php");
$naam=$_POST['naam'];


if ($naam == "")
    {

    die("U moet iets invullen");
    }


elseif ((mysql_query("SELECT naam FROM categorie WHERE naam = '$naam'"))){

die("Categorie bestaat al");
}

    
else {
$result=mysql_query("INSERT INTO categorie (naam) VALUES (
'$naam')"
)
or die("Insert Error: ".mysql_error());    
}

mysql_close($link);
print "<font color='green'><b>Categorie toegevoegd</b><br><br>";

?>


Toevoeging op 12/05/2011 08:13:33:

het gaat dan om dit stukje code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
elseif ((mysql_query("SELECT naam FROM categorie WHERE naam = '$naam'"))){

die("Categorie bestaat al");
}
 
PHP hulp

PHP hulp

15/11/2024 03:11:33
 
Dennis meijer

dennis meijer

12/05/2011 10:24:25
Quote Anchor link
probeer dit eens:

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

include("db_connect.php");

$naam = $_POST['naam'];


if (empty ($naam))
{

    
    die("U moet iets invullen");
    
}


$q_Naam = mysql_query("SELECT naam FROM categorie WHERE naam = '".$naam."'");

elseif (mysql_num_rows($q_Naam) > 0)
{


    die("Categorie bestaat al");
    
}

    
else
{
    
    $result = mysql_query("INSERT INTO categorie (naam) VALUES ('".$naam."')")
    
    or die("Insert Error: ".mysql_error());
    
}


mysql_close($link);

print "<font color='green'><b>Categorie toegevoegd</b><br><br>";

?>
 
Maikel  B

Maikel B

12/05/2011 10:36:56
Quote Anchor link
Gebruik geen die maar een nette foutafhandeling ;)
 
Vincent Huisman

Vincent Huisman

12/05/2011 10:48:27
Quote Anchor link
en uiteraard, denk om sql injection
 
F Farmer

F Farmer

12/05/2011 10:51:22
Quote Anchor link
Bedankt voor de reactie Dennis, maar hij geeft een fout

Parse error: syntax error, unexpected T_ELSEIF

Op deze regel: elseif (mysql_num_rows($q_Naam) > 0)
 
Dennis meijer

dennis meijer

12/05/2011 10:53:07
Quote Anchor link
dan moet die zo:

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

include("db_connect.php");

$naam = $_POST['naam'];

$q_Naam = mysql_query("SELECT naam FROM categorie WHERE naam = '".$naam."'");

if (empty ($naam))
{

    
    die("U moet iets invullen");
    
}

elseif (mysql_num_rows($q_Naam) > 0)
{


    die("Categorie bestaat al");
    
}

else
{
    
    $result = mysql_query("INSERT INTO categorie (naam) VALUES ('".$naam."')")
    
    or die("Insert Error: ".mysql_error());
    
}


mysql_close($link);

print "<font color='green'><b>Categorie toegevoegd</b><br><br>";

?>
 
F Farmer

F Farmer

12/05/2011 10:56:03
Quote Anchor link
Echt bedankt Dennis, super hij werkt :)
 
Dennis meijer

dennis meijer

12/05/2011 11:12:07
Quote Anchor link
Hij werkt maar het lijkt me verstandig om deze tutorial even door te lezen.

Mysql_injection
 
F Farmer

F Farmer

12/05/2011 11:13:55
Quote Anchor link
Bedankt voor de tip
 



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.