url input controlleren in database
Pagina: « vorige 1 2 3 volgende »
Code (php)
1
2
3
2
3
<?php // kleurtjes tonen
$result = mysqli_query($link, "SELECT * FROM codes WHERE code=" . mysqli_real_escape_string($link,$codeinput) . " LIMIT 1") or die(mysqli_error());
?>
$result = mysqli_query($link, "SELECT * FROM codes WHERE code=" . mysqli_real_escape_string($link,$codeinput) . " LIMIT 1") or die(mysqli_error());
?>
Allereerst heel erg bedankt voor al je hulp dat waardeer ik ontzettend! Dan het volgende ik krijg nu geen enkele error meer. Maar ik krijg ook geen echo terug. Als ik mijn link nu volg dan is het gewoon leeg. Ik krijg dus niet de punten terug die achter de code staat die ik invul? Weet jij hoe ik dit als reactie terug krijg? En dan ook als de code niet voorkomt in de tabel moet hij een 0 als resultaat terug geven?
Groeten,
Dennis
Dat werkt bijna ik krijg alleen nu als resultaat het ID nummer en niet het aantal punten?
Tevens als die fout is krijg ik niks terug en dan hoopte ik juiste een 0 te krijgen.
Groeten,
Dennis
laat je nog eens je code zien aub?
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
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
<?php
$host = "localhost";
$username = "pelistar";
$password = "";
$database = "my_pelistar";
$codeinput = $_GET['code'];
$link = mysqli_connect($host,$username,$password,$database) or die(mysqli_connect_error());
function useCode($link,$codeinput)
{
$result = mysqli_query($link, "SELECT * FROM codes WHERE code=" . mysqli_real_escape_string($link,$codeinput) . " LIMIT 1") or die(mysqli_error());
if($result && $row = mysqli_fetch_assoc($result));
{
mysqli_query($link, "DELETE FROM codes WHERE id=" . $row['id']);
return $row['id'];
}
return FALSE;
}
$punten = useCode($link, $codeinput);
echo $punten;
?>
$host = "localhost";
$username = "pelistar";
$password = "";
$database = "my_pelistar";
$codeinput = $_GET['code'];
$link = mysqli_connect($host,$username,$password,$database) or die(mysqli_connect_error());
function useCode($link,$codeinput)
{
$result = mysqli_query($link, "SELECT * FROM codes WHERE code=" . mysqli_real_escape_string($link,$codeinput) . " LIMIT 1") or die(mysqli_error());
if($result && $row = mysqli_fetch_assoc($result));
{
mysqli_query($link, "DELETE FROM codes WHERE id=" . $row['id']);
return $row['id'];
}
return FALSE;
}
$punten = useCode($link, $codeinput);
echo $punten;
?>
De code die is geweest wordt trouwens wel goed verwijderd!
Gewijzigd op 31/10/2014 22:52:34 door Dennis van DUin
Code (php)
1
mysqli_query($link, "DELETE FROM codes WHERE id=" . $row['id']) or die(mysqli_error());
Zet bovenaan op lijn 2 ook dit neer, zodat je alle foutmeldingens of notices ziet. Altijd handig bij het ontwikkelen:
Gewijzigd op 31/10/2014 22:56:42 door - Ariën -
return $row['id'];
moet worden:
return $row['punten'];
Warning: mysqli_error() expects exactly 1 parameter, 0 given in /membri/pelistar/Codes/codesalien.php on line 17
EDIT:
Helemaal geweldig ik krijg nu het aantal punten terug. Hoe kan ik nu bij een fout antwoord nog een 0 terug krijgen? Waar moet ik dan return['0']; zetten ofzo? of echo '0'
Gewijzigd op 31/10/2014 23:00:29 door Dennis van DUin
Toevoeging op 31/10/2014 23:01:59:
mysqli_error($link)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Gewijzigd op 31/10/2014 23:03:09 door Dennis van DUin
mysqli_error($link)
Gewijzigd op 31/10/2014 23:03:39 door - Ariën -
http://pelistar.altervista.org/Codes/codesalien.php?code=1233
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Gewijzigd op 31/10/2014 23:07:02 door Dennis van DUin
Code (php)
1
2
3
2
3
$sql = "DELETE FROM codes WHERE id=" . $row['id'];
echo $sql;
mysqli_query($link, $sql);
echo $sql;
mysqli_query($link, $sql);
Gewijzigd op 31/10/2014 23:08:24 door - Ariën -
En dan zie ik waar die error vandaan komt?
Gewijzigd op 31/10/2014 23:11:33 door - Ariën -
Ik heb ze er net ingevoerd maar hij klopt wel gewoon. Als ik een code invul die van ID 1 dan geeft jou code netjes aan dat dat id 1 is en dan geef hij weer wat er staat aan punten. Het enige moment wanneer dit optreed is als de code fout is die ik invoer en dus niet in de database staat. Nu geef hij een error als de code niet voorkomt maar dat moet een 0 zijn zodat ik aan de hand van die 0 kan controlleren dat je code fout was.
mysqli_num_rows() kan je controleren of een records bestaat. Als deze 0 teruggeeft, kan je zelf een foutmelding tonen, of een 0 zoals je dat wilt.
Met Gewijzigd op 31/10/2014 23:19:58 door - Ariën -
Ik ben gewend om te programmeren met een if en else statement? Kan dat gewoon dus dat ik neerzet
if($result && $row = mysqli_fetch_assoc($result));
{
mysqli_query($link, "DELETE FROM `codes` WHERE `id`=" . $row['id']) or die(mysqli_error($link));
return $row['punten'];
}else if mysqli_num_rows($result) = '0'
{
echo '0';
}