Checken dubbele records
Bedankt voor je hulp maar ik snap het niet precies want hoe ziet hij dat of de naam al bestaat?
Toevoeging op 20/01/2011 20:05:25:
Code (php)
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
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
<?php
# Geen wildcard gebruiken , enkel voor in dit voorbeeld.
# $_POST['gebruikersnaam'] heeft de waarde die de gebruiker heeft ingetypt (=de gebruikersnaam)
$sql = "SELECT *
FROM tabel
WHERE gebruikersnaam ='".mysql_real_escape_string($_POST['gebruikersnaam']."'
";
# Kijk of de query is gelukt
if(($result = mysql_query($sql)) === false)
{
# De query is niet gelukt
echo 'er ging iets mis met de query';
}
else
{
# De query is wel gelukt
# Kijk of de gebruikersnaam al bestaat (=1)
if(mysql_num_rows($result) == 1)
{
# Ja hij bestaat
echo 'er bestaat al een gebruiker met die naam';
}
else
{
# er bestaat nog geen gebruiker met die naam
}
}
# Geen wildcard gebruiken , enkel voor in dit voorbeeld.
# $_POST['gebruikersnaam'] heeft de waarde die de gebruiker heeft ingetypt (=de gebruikersnaam)
$sql = "SELECT *
FROM tabel
WHERE gebruikersnaam ='".mysql_real_escape_string($_POST['gebruikersnaam']."'
";
# Kijk of de query is gelukt
if(($result = mysql_query($sql)) === false)
{
# De query is niet gelukt
echo 'er ging iets mis met de query';
}
else
{
# De query is wel gelukt
# Kijk of de gebruikersnaam al bestaat (=1)
if(mysql_num_rows($result) == 1)
{
# Ja hij bestaat
echo 'er bestaat al een gebruiker met die naam';
}
else
{
# er bestaat nog geen gebruiker met die naam
}
}
Gewijzigd op 20/01/2011 20:07:38 door Jasper DS
"SELECT *
FROM tabel
WHERE gebruikersnaam ='".mysql_real_escape_string($_POST['gebruikersnaam']."'
";
Ik ben echt aan het stressen want kan de fout er niet uit halen. xD
wat is de fout? je moet wel je tabel en kolom nog aanpassen he
- Als ik jouw code niet aanpas, op 2 dinging na dat hij nog eindigt met ?> en dat ik de namen aanpas, krijg ik deze error:
Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 15
Ik probeerde hem te verbeteren door ipv:
'".mysql_real_escape_string($_POST['gebruikersnaam']."'
Dit te schrijven:
'mysql_real_escape_string($_POST['Nickname']'
Dus tussen van die acolades (was in mijn andere text vandaar)
Maar dan krijg ik deze error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
Bram unknown op 20/01/2011 20:28:08:
Ja begrijp ik.
- Als ik jouw code niet aanpas, op 2 dinging na dat hij nog eindigt met ?> en dat ik de namen aanpas, krijg ik deze error:
Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 15
- Als ik jouw code niet aanpas, op 2 dinging na dat hij nog eindigt met ?> en dat ik de namen aanpas, krijg ik deze error:
Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 15
Kijk ofdat er rond lijn 15 geen ; vergeten is
Bram unknown op 20/01/2011 20:28:08:
Ik probeerde hem te verbeteren door ipv:
'".mysql_real_escape_string($_POST['gebruikersnaam']."'
Dit te schrijven:
'mysql_real_escape_string($_POST['Nickname']'
Dus tussen van die acolades (was in mijn andere text vandaar)
Maar dan krijg ik deze error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
'".mysql_real_escape_string($_POST['gebruikersnaam']."'
Dit te schrijven:
'mysql_real_escape_string($_POST['Nickname']'
Dus tussen van die acolades (was in mijn andere text vandaar)
Maar dan krijg ik deze error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
FOUT! VARS BUITEN QUOTES!
Hij zegt unexpected. Of wel, hij verwacht dat ze er niet staan terwijl ze er wel staan.
Toon lijn 14-16 eens
Als ik die toe voeg krijg ik dezelfde 3 foutmeldingen als eerst. xD
klopt, wat krijg je nu?
Code (php)
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
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
<?php
# Geen wildcard gebruiken , enkel voor in dit voorbeeld.
# $_POST['gebruikersnaam'] heeft de waarde die de gebruiker heeft ingetypt (=de gebruikersnaam)
$sql = "SELECT * FROM account WHERE Nickname ='".mysql_real_escape_string($_POST['Nickname'])."'";
# Kijk of de query is gelukt
if(($result = mysql_query($sql)) === false)
{
# De query is niet gelukt
echo 'er ging iets mis met de query';
}
else
{
# De query is wel gelukt
# Kijk of de gebruikersnaam al bestaat (=1)
if(mysql_num_rows($result) == 1)
{
# Ja hij bestaat
echo 'er bestaat al een gebruiker met die naam';
}
else
{
# er bestaat nog geen gebruiker met die naam
}
}
?>
# Geen wildcard gebruiken , enkel voor in dit voorbeeld.
# $_POST['gebruikersnaam'] heeft de waarde die de gebruiker heeft ingetypt (=de gebruikersnaam)
$sql = "SELECT * FROM account WHERE Nickname ='".mysql_real_escape_string($_POST['Nickname'])."'";
# Kijk of de query is gelukt
if(($result = mysql_query($sql)) === false)
{
# De query is niet gelukt
echo 'er ging iets mis met de query';
}
else
{
# De query is wel gelukt
# Kijk of de gebruikersnaam al bestaat (=1)
if(mysql_num_rows($result) == 1)
{
# Ja hij bestaat
echo 'er bestaat al een gebruiker met die naam';
}
else
{
# er bestaat nog geen gebruiker met die naam
}
}
?>
Errors:
Quote:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 14
er ging iets mis met de query
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 11
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\WizzardzAccountCreateCode.php on line 14
er ging iets mis met de query
2de error: je hebt geen verbinding met je db
3de error: je hebt geen verbinding met je db
4de error: je hebt geen verbinding met je db
er ging iets mis met de query want je hebt geen verbinding met je db
zorg dat je een bestand include met je db gegevens en je verbinding regelt
Gewijzigd op 20/01/2011 20:43:14 door Jasper DS
Als je dan een insert query doet, dan geeft mysql_query false terug als de nickname niet uniek is. Ook krijg je vast en zeker een error die je met mysql_error en mysql_errno kan opvangen.
De manier zoals PHP Jasper aangeeft is incorrect.
Let op: Toon nooit de php of mysql error aan de gebruiker.
Karl Karl op 20/01/2011 20:48:18:
De manier zoals PHP Jasper aangeeft is incorrect.
Let op: Toon nooit de php of mysql error aan de gebruiker.
Let op: Toon nooit de php of mysql error aan de gebruiker.
Het gaat perfect met mijn manier en waarschijnlijk veel makkelijker
Maaruhm, ik ga er een andere keer naar kijken want moet nog veel andere dingen doen.
Alvast echt super erg bedankt voor de hulp van jullie beiden!
PHP Jasper op 20/01/2011 20:52:19:
Het gaat perfect met mijn manier en waarschijnlijk veel makkelijker
Karl Karl op 20/01/2011 20:48:18:
De manier zoals PHP Jasper aangeeft is incorrect.
Let op: Toon nooit de php of mysql error aan de gebruiker.
Let op: Toon nooit de php of mysql error aan de gebruiker.
Het gaat perfect met mijn manier en waarschijnlijk veel makkelijker
Nee, want jij moet nog een extra select doen. Ik doe gewoon direct een insert.
En nee, het is niet perfect. Als data niet dubbel in de database hoort te komen, hoort de database dat af te dwingen. Niet de taal die het benaderd. Stel dat je in de toekomst met asp die database benaderd, dan klopt het dus niet meer (want de database dwingt het niet meer af, en jij weet dan vast en zeker niet meer dat het wel moet).
Mijn manier is ook makkelijker, want ik doe alleen een insert. Jij moet nog weer eens een select doen en de hele mikmak fouthandelen en pff, weet ik veel nog meer, veel te veel om aan te denken.