[SOLVED] intval ID posten in database vraag
Doe eens single quotes om die $_GET in je query, maak er maar dit van: '".intval($_GET['ID'])."'
mysql_error())?
Wat gaat er precies fout? Als je query mislukt, geef dan ook de foutmelding eens weer (Mr.Ark schreef op 18.01.2010 01:09:
Doe eens single quotes om die $_GET in je query, maak er maar dit van: '".intval($_GET['ID'])."'
Dit heb ik gedaan, maar nog steeds kan ik geen 2de bericht in mijn database posten :S
Blanche schreef op 18.01.2010 09:44:
Wat gaat er precies fout? Als je query mislukt, geef dan ook de foutmelding eens weer (mysql_error())?
De foutmelding is dat hij zegt:
Er is een fout opgetreden met het aanmaken van jouw bericht.
Deze tekst is een gevolg van de code:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
/* Resultaat van de query. */
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo '<p>Er is een fout opgetreden met het aanmaken van jouw bericht.</p>';
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo '<p>Er is een fout opgetreden met het aanmaken van jouw bericht.</p>';
Dus de query is niet gelukt, maar waarom lukt het wel bij de eerste reactie en niet bij een tweede.?!
Stef schreef op 18.01.2010 12:06:
Dit zegt helemaal niets over wat er nu precies fout is gegaan. Zoals ik in mijn vorige post al zei, gebruik mysql_error() om de foutmelding van de database te achterhalen. Dan ben je waarschijnlijk al een heel stuk wijzer...De foutmelding is dat hij zegt:
Er is een fout opgetreden met het aanmaken van jouw bericht.
Er is een fout opgetreden met het aanmaken van jouw bericht.
Ik heb even wat artikelen over mysql_error() gelezen en ik heb ook al wat uit zitten vogelen, alleen werkt alles wat ik probeer gewoon niet.
Ik weet niet hoe PHP zich precies gedraagt in de code die ik heb.
Ik ga er vanuit dat ik in het onderstaande stukje stukje de error moet zetten,
alleen weet ik niet hoe ik dat zou moeten doen.
Probleem zou vast en zeker zijn dat TS geen auto increment heeft aanstaan op z'n ID veld in de database. heb ik gelijk Topic starter?
Dat is ook mijn vermoeden, maar zonder daadwerkelijke foutmelding zal de TS dat nooit zeker weten (tenzij hij uiteraard een auto_increment op die kolom zet).
Ik ga dat van Blanche proberen zodra ik weer thuis ben en bij mijn bestanden kan... =]
Doe dan zoiets:
Edit:
Had met mysqli gemaakt is nu gewoon mysql voor je ;)
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
// Database connectie maken
include('config.php');
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
titel,
auteur,
datum,
preview,
bericht
FROM
blog
ORDER BY
id');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
// Link naar de reacties
echo '<a href="reacties.php?id='.$rec['id'].'">Lees blog helemaal plus zijn reacties</a>';
}
}
// Anders
else
{
// Geen blogs
echo 'Er zijn momenteel nog geen blogs.';
}
}
// Anders
else
{
// MySql error
echo 'Er is een fout opgetreden met de query: <br />';
echo mysql_error();
}
?>
// Database connectie maken
include('config.php');
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
titel,
auteur,
datum,
preview,
bericht
FROM
blog
ORDER BY
id');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
// Link naar de reacties
echo '<a href="reacties.php?id='.$rec['id'].'">Lees blog helemaal plus zijn reacties</a>';
}
}
// Anders
else
{
// Geen blogs
echo 'Er zijn momenteel nog geen blogs.';
}
}
// Anders
else
{
// MySql error
echo 'Er is een fout opgetreden met de query: <br />';
echo mysql_error();
}
?>
En dan op reacties.php
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
// Database connectie maken
include('config.php');
/*
---- De blog
*/
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
titel,
auteur,
datum,
bericht
FROM
blog
WHERE
id = "'.intval($_GET['id']).'"
');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
// Link naar de reacties
echo 'Hier komt die blog <br />';
}
}
else
{
echo 'Er zijn momenteel nog geen blogs.';
}
}
else
{
echo 'Er is een fout opgetreden met de blog query: <br />';
echo mysql_error();
}
/*
---- De reacties
*/
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
blog_id,
auteur,
datum,
bericht
FROM
reacties
WHERE
blog_id = "'.intval($_GET['id']).'"
');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
echo 'Zorg dan dat hier de reacties komen.';
}
}
else
{
echo 'Er zijn momenteel nog geen reacties op deze blog.';
}
}
else
{
echo 'Er is een fout opgetreden met de reactie query: <br />';
echo mysql_error();
}
?>
// Database connectie maken
include('config.php');
/*
---- De blog
*/
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
titel,
auteur,
datum,
bericht
FROM
blog
WHERE
id = "'.intval($_GET['id']).'"
');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
// Link naar de reacties
echo 'Hier komt die blog <br />';
}
}
else
{
echo 'Er zijn momenteel nog geen blogs.';
}
}
else
{
echo 'Er is een fout opgetreden met de blog query: <br />';
echo mysql_error();
}
/*
---- De reacties
*/
// Alles uit de database halen
$sql = mysql_query('SELECT
id,
blog_id,
auteur,
datum,
bericht
FROM
reacties
WHERE
blog_id = "'.intval($_GET['id']).'"
');
// Als de query is gelukt
if($sql)
{
// Als er blogs zijn
if(mysql_num_rows($sql) > 0)
{
// Alle blogs loopen
while($rec = mysql_fetch_assoc($sql))
{
echo 'Zorg dan dat hier de reacties komen.';
}
}
else
{
echo 'Er zijn momenteel nog geen reacties op deze blog.';
}
}
else
{
echo 'Er is een fout opgetreden met de reactie query: <br />';
echo mysql_error();
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Milo
Notice: Duplicate entry '15' for key 2 in /home/a2158819/public_html/blog.php on line 269
Dus wat ik dacht blijkt juist te zijn, hij wil geen 2 reacties posten met dezelfde Blogid.
Wss zit de fout dan in mijn database?!
Ik ga even kijken wat ik er aan zou kunnen veranderen...
als jullie tips hebben dan hoor ik het graag
Dan heb je blijkbaar een UNIQUE key op de kolom blogid staan. Dat hoort natuurlijk niet in die tabel...
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
Blogid stond in mijn database bij de Indexes als Primary...
Zorgde voor dat ik geen duplicaten kon maken van Blog id
Heel erg bedankt allemaal!