Probleem met het gebruik van koppelteken in tabelnamen en veldnamen
Ik ondervind problemen bij het doorlinken van de ene php pagina naar de volgende php pagina als deze verwijzen naar vb. een provincienaam of gemeentenaam waar een koppelteken in staat. Als iemand weet hoe ik dit kan oplossen dan hoor ik het graag.
vb. ik heb een eerste php pagina met alle vlaamse provincies en als ik op vlaams-brabant klik dan zou ik een lijst moeten krijgen met alle vlaams-brabantse gemeenten maar hier loopt het fout door het koppelteken in Vlaams-Brabant want ik ondervind geen problemen bij Antwerpen, Limburg en Brussel. Zoals eerder al vermeld ondervind ik dit zelfde probleem ook bij het doorlinken van een gemeente pagina met koppelteken naar het contactformulier voor die specifieke gemeente.
Mvg,
Heb je wat relevante code?
Dank voor uw antwoord.
Hieronder de foutmelding die ik ontvang met de bijhorende lijnen codering.
( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Studieco\provincie.php on line 267
Call Stack
# Time Memory Function Location
1 0.0033 281960 {main}( ) ..\provincie.php:0
2 0.0176 307072 mysql_fetch_array ( ) ..\provincie.php:267
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<form action="bijles-bijlessen-studiebegeleiding.php" method="get">
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Studieco\provincie.php on line <i>267</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0033</td><td bgcolor='#eeeeec' align='right'>281960</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\Studieco\provincie.php' bgcolor='#eeeeec'>..\provincie.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0176</td><td bgcolor='#eeeeec' align='right'>307072</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysql-fetch-array' target='_new'>mysql_fetch_array</a>
( )</td><td title='C:\wamp\www\Studieco\provincie.php' bgcolor='#eeeeec'>..\provincie.php<b>:</b>267</td></tr>
</table></font>
</form>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Studieco\provincie.php on line <i>267</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0033</td><td bgcolor='#eeeeec' align='right'>281960</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\Studieco\provincie.php' bgcolor='#eeeeec'>..\provincie.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0176</td><td bgcolor='#eeeeec' align='right'>307072</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.mysql-fetch-array' target='_new'>mysql_fetch_array</a>
( )</td><td title='C:\wamp\www\Studieco\provincie.php' bgcolor='#eeeeec'>..\provincie.php<b>:</b>267</td></tr>
</table></font>
</form>
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 22/08/2014 13:12:49 door Bas IJzelendoorn
Dat kan niet.
Stel ik wil rekenen in SQL:
ofwel
dan zou
SELECT vlaams-brabant
FROM tabel
dus proberen de waarde van de kolom brabant af te trekken van de waarde in de kolom vlaams....
sowieso lijkt me dat geen lekker datamodel
FOUT1064: 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 '-Brabant ORDER BY naam ASC' at line 1
En de lijn code waarop de foutmelding betrekking heeft:
$gemeente = "SELECT naam FROM $provincie ORDER BY naam ASC";
Heb je de reactie van Ivo gelezen? Zorg ervoor dat je tabelnamen geen koppeltekens bevatten, deze worden gezien als min.
Geen idee of het werkt, maar probeer zo eens:
$gemeente = "SELECT naam FROM '$provincie' ORDER BY naam ASC";
Zo te zien ben je nog steeds aan het aftrekken=> -Brabant (min brabant).
Vervang al die min-tekens door underscores en je probleem is weg.
Toevoeging op 27/08/2014 14:55:34:
@Ozzie: Jij maakt er tekst van. Dat gaat ook niet werken. Gebruik dan de (niet aan te raden) backtics.
b) dat datamodel rammelt.
Als jij de gemeentes opslaat in een tabel met de naam van een provincie, dan is dat onhandig:
Zoek alle plaatsnamen beginnend met "aa"
Dan moet je 12 (voor Nederland 12 provincies) query's uitvoeren.
Veelhandiger is het om 1 tabel te hebben met alle gemeentes met daarbij 1 kolom "provincie_id" van het type INTEGER.
Daarnaast heb je dan 1 tabel "provincies" waarbij de id kolom overeen komt met dat provincie_id en waarbij je de naam in een varchar zet.
Eventueel zelfs twee- of drietalig.
Dan kun je die plaatsnamen met "aa" beginnend in 1x ophalen, en moet dat dan per se een plaats in Limburg zijn, dan zet je erbij WHERE provincie_id = 5
Ivo, je haalt me de letters van mijn toetsenbord .....
- SanThe - op 27/08/2014 14:53:49:
Zo te zien ben je nog steeds aan het aftrekken...
Ik mag hopen van niet...
Ik heb gelezen dat dit met de rewrite engine in de htaccess file zou moeten gaan, klopt dit?
Mvg,
maar waarom zou je de tabelnamen op het scherm willen zetten?
Die hebben voor de gebruiker van een website geen betekenis.
Ik denk dat dit nog gaat over dat issue waarbij er plaatsnamen in een tabel per provincie gezet werden?
Slecht plan.
Handiger is 2 tabellen:
1 met 2 of 3 kolommen
en 1 tabel met plaatsnamen en een extra kolom die naar het id van de provincie verwijst
Lees de reactie van Ivo nog eens .....
Dan wordt alles een stuk gemakkelijker