WHERE clausule probleem
Pagina: « vorige 1 2 3 volgende »
MySQL is een rare database en vertoont regelmatig zeer bijzonder gedrag, maar een integer heeft nog steeds geen quotes nodig. Gelukkig niet!
Edit: En echo die queries nu eens! Dan zie je eindelijk wat je nu daadwerkelijk verstuurt naar de database.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
pgFrank schreef op 22.03.2008 11:32:
Dat wordt de nieuwe 'functionliteit' van MySQL 7.0: wel quotes rond integers en niet meer rond strings :-)MySQL is een rare database en vertoont regelmatig zeer bijzonder gedrag, maar een integer heeft nog steeds geen quotes nodig. Gelukkig niet!
Quote:
Onzin! Integers hoef je nog steeds niet tussen quotes te plaatsen in SQL! Dit is gewoon een prima query (...)
Quote:
Yep, een prima datatype. En dan hoef je een nummer dus echt niet tussen 'quotes' te zetten, dat kan onmogelijk de oplossing zijn geweest voor jouw probleem.
Hoe willen jullie dan verklaren dat mijn oplossing de oplossing is? :)
Zou het kunnen zijn dat er nog 1000-en-1 andere oorzaken en dus ook oplossingen mogelijk zijn? Jij weet zelf ook wel dat integers niet tussen quotes hoeven, dat is niets nieuws onder de zon. Die quotes kunnen alleen maar een probleem oplossen wanneer de zogenaamde integer geen integer is.
ps. Natuurlijk ervan uitgaande dat poll_id en die variabele beide integers zijn.
@iedereen: waarom naar een oorzaak zoeken als hij al werkt?!?
Maarten schreef op 22.03.2008 12:40:
Lijkt me vrij logisch. Omdat je wilt weten waarom iets fout gegaan is zodat je dat in de toekomst kunt voorkomen. Misschien heb je het nu zelfs wel met een lapmiddel aan de praat gekregen dat je later nog veel grotere problemen gaat opleveren!@iedereen: waarom naar een oorzaak zoeken als hij al werkt?!?
Kortom, pas als je echt weet waarom het fout gegaan is, kun je bepalen of de oplossing die je nu gebruikt hebt de juiste is...
Maarten schreef op 22.03.2008 12:40:
Op naar de volgende bug!@iedereen: waarom naar een oorzaak zoeken als hij al werkt?!?
good luck.
ik heb jullie al alles gegeven waar jullie om hebben gevraagd en toch doe ik nog iets niet goed, dus om alles maar samen te krijgen:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
38
39
40
41
42
43
44
45
<?php
//het aantal keer dat op deze keuze is gestemd
$sql_get_voted = "SELECT COUNT(id) AS aantal
FROM poll_votes
WHERE vote_number = '".$poll_choices['id']."'";
//het totaal aantal stemmen
$sql_get_total_voted = "SELECT COUNT(id) AS aantal
FROM poll_votes
WHERE poll_id = '".$voted_ids[$i]."'";
if($query_count = mysql_query($sql_get_voted))
{
if($query_total = mysql_query($sql_get_total_voted))
{
$result_count = mysql_fetch_array($query_count);
$result_total = mysql_fetch_array($query_total);
//bereken het percentage voor deze keuze (deel/geheel)
$percent = $result_count['aantal']/$result_total['aantal'];
//naam van de keuze
echo $poll_choices['poll_choice'];
?>
<!-- balk die het relatieve aantal stemmen laat zien doormiddel van breedte -->
<div class="count_bar" style="width: <?= $percent*100 ?>px">
<?= round($percent*100) ?>%
</div>
<!-- het totaal aantal stemmen -->
<span class="total_votes">
<?= $result_total['aantal'] ?>
</span>
<?php
}
else
{
echo '<span class="error">Er is een fout opgetreden met het tellen van het totaal aantal stemmen. Excuses voor het ongemak </span>';
}
}
else
{
echo '<span class="error">Er is een fout opgetreden met het tellen van het aantal stemmen. Excuses voor het ongemak</span>';
}
?>
//het aantal keer dat op deze keuze is gestemd
$sql_get_voted = "SELECT COUNT(id) AS aantal
FROM poll_votes
WHERE vote_number = '".$poll_choices['id']."'";
//het totaal aantal stemmen
$sql_get_total_voted = "SELECT COUNT(id) AS aantal
FROM poll_votes
WHERE poll_id = '".$voted_ids[$i]."'";
if($query_count = mysql_query($sql_get_voted))
{
if($query_total = mysql_query($sql_get_total_voted))
{
$result_count = mysql_fetch_array($query_count);
$result_total = mysql_fetch_array($query_total);
//bereken het percentage voor deze keuze (deel/geheel)
$percent = $result_count['aantal']/$result_total['aantal'];
//naam van de keuze
echo $poll_choices['poll_choice'];
?>
<!-- balk die het relatieve aantal stemmen laat zien doormiddel van breedte -->
<div class="count_bar" style="width: <?= $percent*100 ?>px">
<?= round($percent*100) ?>%
</div>
<!-- het totaal aantal stemmen -->
<span class="total_votes">
<?= $result_total['aantal'] ?>
</span>
<?php
}
else
{
echo '<span class="error">Er is een fout opgetreden met het tellen van het totaal aantal stemmen. Excuses voor het ongemak </span>';
}
}
else
{
echo '<span class="error">Er is een fout opgetreden met het tellen van het aantal stemmen. Excuses voor het ongemak</span>';
}
?>
de sql queries:
Code (php)
1
2
2
SELECT COUNT(id) AS aantal FROM poll_votes WHERE vote_number = '1'
SELECT COUNT(id) AS aantal FROM poll_votes WHERE poll_id = '1'
SELECT COUNT(id) AS aantal FROM poll_votes WHERE poll_id = '1'
als er nog iets bij moet zeg het maar, edit ik deze post even
En wat gaat er nu fout dan?
jullie zeggen toch dat dit niet goed kan zijn, kijk dan of er nog iets fout is?!?
@Blanche: er gaat niets meer fout. Maar jij en Frank blijven doorzeuren dat die quotes niet de oplossing zijn, terwijl de query daardoor wel ging werken. Jullie willen blijkbaar een andere oplossing geven, kom dan met die oplossing :).
Maarten schreef op 22.03.2008 14:34:
jullie zeggen toch dat dit niet goed kan zijn, kijk dan of er nog iets fout is?!?
@djemo: iig iemand die begrijpt wat ik bedoel...
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Blijkbaar werkte de query niet zonder quotes. Jullie willen een oplossing geven waardoor hij wel werkt zonder quotes. Aan jouw reactie heeft Maarten dus helemaal niets, er wordt nog steeds geen nieuwe oplossing gegeven. Deze oplossing werkt namelijk niet.
sorry frank en blanche voor de problemen, dit topic kan dicht
@Djemo: en nu blijkt het wel te werken zonder quotes... Goh wat vreemd!
i.p.v bedoel je?
wat jij zei over Frank, geweldig! Nu mag jij mij vertellen waarom hij eerst niet werkt, daarna wel mét quotes en nu weer wél zonder quotes?
Djemo schreef op 22.03.2008 14:46:
Daar kunnen dus 1000-en-1 redenen voor zijn, waarbij de meest waarschijnlijke gewoon een foutje van de TS is bij het overnemen van het voorbeeld...Frank, geweldig! Nu mag jij mij vertellen waarom hij eerst niet werkt, daarna wel mét quotes en nu weer wél zonder quotes?
Het moge duidelijk zijn dat die quotes in ieder geval niets uitgemaakt hebben.