unknown column
Ik heb het volgende script:
<h3>Verwijder bericht</h3><br<br>
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
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
<?php
if(!isset($_GET['id']))
{
echo '<br>Dit kan niet, ga terug waar u vandaan kwam</a>';
}
else
{
include('verbinden.php');
$idtekst=$_GET['id'];
$sql1="SELECT * FROM content_bebouwing_straten WHERE id=" . mysql_real_escape_string($idtekst) . "";
$resultaat1=mysql_query($sql1) or die(mysql_error());
while($rij1=mysql_fetch_array($resultaat1))
{
$straatnaam=$rij1['straatnaam'];
$huisnummer=$rij1['huisnummer'];
}
$sql2 = "SELECT * FROM huisnummer_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' AND huisnummer='" . $huisnummer . "'";
$resultaat2 = mysql_query($sql2) or die(mysql_error());
while ($rij2=mysql_fetch_array($resultaat2))
{
$linknr=$rij2['id'];
}
$sql3 = "SELECT * FROM afbeeldingen_bebouwing_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' && huisnummer='" . $huisnummer . "' && berichtnr='" . $idtekst . "'";
$resultaat3 = mysql_query($sql3) or die(mysql_error());
while($rij3=mysql_fetch_array($resultaat3))
{
$afb=array(".");
$aantalafb=count($rij3['afbeelding']);
for($i=0;$i<=$aantalafb;$i++)
{
array_push($afb, $rij3['afbeelding'][$i]);
}
}
$sql4 = "DELETE FROM afbeeldingen_bebouwing_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' AND huisnummer='" . $huisnummer . "' AND berichtnr='" . mysql_real_escape_string($idtekst) . "'";
$sql5 = "DELETE FROM content_bebouwing_straten WHERE id='" . mysql_real_escape_string($idtekst) . "' LIMIT 1";
if(mysql_query($sql4) && mysql_query($sql5))
{
$aantalafb=count($afb);
for($i=1;$i<$aantalafb;$i++)
{
unlink($afb[$i]);
}
echo "<h2>Verwijderen gelukt!</h2><br>";
echo "<a href=\"straten.php?page=bebgs&id=" . $linknr . "\">Terug naar overzicht</a>";
}
}
?>
if(!isset($_GET['id']))
{
echo '<br>Dit kan niet, ga terug waar u vandaan kwam</a>';
}
else
{
include('verbinden.php');
$idtekst=$_GET['id'];
$sql1="SELECT * FROM content_bebouwing_straten WHERE id=" . mysql_real_escape_string($idtekst) . "";
$resultaat1=mysql_query($sql1) or die(mysql_error());
while($rij1=mysql_fetch_array($resultaat1))
{
$straatnaam=$rij1['straatnaam'];
$huisnummer=$rij1['huisnummer'];
}
$sql2 = "SELECT * FROM huisnummer_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' AND huisnummer='" . $huisnummer . "'";
$resultaat2 = mysql_query($sql2) or die(mysql_error());
while ($rij2=mysql_fetch_array($resultaat2))
{
$linknr=$rij2['id'];
}
$sql3 = "SELECT * FROM afbeeldingen_bebouwing_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' && huisnummer='" . $huisnummer . "' && berichtnr='" . $idtekst . "'";
$resultaat3 = mysql_query($sql3) or die(mysql_error());
while($rij3=mysql_fetch_array($resultaat3))
{
$afb=array(".");
$aantalafb=count($rij3['afbeelding']);
for($i=0;$i<=$aantalafb;$i++)
{
array_push($afb, $rij3['afbeelding'][$i]);
}
}
$sql4 = "DELETE FROM afbeeldingen_bebouwing_straten WHERE straatnaam='" . mysql_real_escape_string($straatnaam) . "' AND huisnummer='" . $huisnummer . "' AND berichtnr='" . mysql_real_escape_string($idtekst) . "'";
$sql5 = "DELETE FROM content_bebouwing_straten WHERE id='" . mysql_real_escape_string($idtekst) . "' LIMIT 1";
if(mysql_query($sql4) && mysql_query($sql5))
{
$aantalafb=count($afb);
for($i=1;$i<$aantalafb;$i++)
{
unlink($afb[$i]);
}
echo "<h2>Verwijderen gelukt!</h2><br>";
echo "<a href=\"straten.php?page=bebgs&id=" . $linknr . "\">Terug naar overzicht</a>";
}
}
?>
Nu zegt hij het volgende:
Unknown column 'Roggeweg' in 'where clause'
Hoe kan dit? Roggeweg staat nameljk wel gewoon in de database!
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
Verder gebruik mysql_real_escape_string, waar is je foutafhandeling? En je kunt van die drie of vier query's vast ook een maken.
Script is een klein beetje aangepast! Zo goed? (mysql_real_escape_string..)
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
dan moet je zoeken op de waarde roggeweg in die kolom en niet zoeken naar een kolom roggeweg, want die bestaat (zoals je server al zegt) niet.
er staat:
WHERE straatnaam=" . $straatnaam . "...........
Horen daar geen quotes omheen?
Hoe bedoel je? Kun je een vb geven?
Je moet dus zoiets bekomen:
WHERE straatnaam = 'roggeweg';
Maar nu geeft hij dit:
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 'FROM afbeeldingen_bebouwing_straten WHERE straatnaam='Roggeweg' && huisnummer='1' at line 1
Ik ben al een poosje aan het zoeken maar ik kom er niet uit!
moet worden:
Ik blijf bezig, ik weet het, maar hij verwijdert de afbeeldingen niet van de server! unlink werkt dus niet. Ik dacht dat deze manier een geldige was.. Is dat wel zo?
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
En kan je eerst niet beter je sql op orde krijgen?
En je kunt ook echo'en welk bestand hij moet unlinken om te kijken of die path goed is.
Maar kan ik regel 39 ook anders schrijven? Op deze manier pakt hij hem namelijk niet!
Gewijzigd op 01/01/1970 01:00:00 door Niek van Milligen
Wat is afb?
Dat is in ieder geval geen constante, dus zo kan het niet. Je kunt er quotes omheen zetten.
Ik heb hem opnieuw aangepast! nu pakt hij alles goed, behalve $afb[$i]!!! Wat doe ik daar fout?
Ik weet niet wat je selecteerd, dus weet ik ook niet wat je probleem is.
Je kunt ook gebruik maken van foreach, zie ook wat er op array_push staat:
php.net/array_push:
Note: If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function.