hoofdletters in varchar

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nils Kuijpers

Nils Kuijpers

07/10/2008 10:51:00
Quote Anchor link
Dag,

Ik zit met een probleempje, projectnamen worden ingevoerd in een varchar veld. Geen probleem, maar als ik ze daarna ophaal dan zijn het alleen maar kleine letters? Dus ook iets als "PROjeCTnaAm" wordt gewoon "projectnaam". Is dat een fout van mij, of een eigenschap van MySQL? En kan ik het voorkomen/

Nils
 
PHP hulp

PHP hulp

25/11/2024 05:05:03
 
Joren de Wit

Joren de Wit

07/10/2008 10:59:00
Quote Anchor link
Welke character set gebruik je? Daar zou het aan kunnen liggen...
 
Nils Kuijpers

Nils Kuijpers

07/10/2008 11:03:00
Quote Anchor link
ENGINE=InnoDB DEFAULT CHARSET=latin1

en dat heeft phpmyadmin er van gemaakt, het komt trouwens ook voor bij tabelnamen?
 
Joren de Wit

Joren de Wit

07/10/2008 11:08:00
Quote Anchor link
Staan de gegevens ook allemaal lowercase in de database, of zijn daar de hoofdletters nog wel aanwezig?
 
Nils Kuijpers

Nils Kuijpers

07/10/2008 11:11:00
Quote Anchor link
staan lower case in de database.

Heb het voor de tables opgelost door een setting in my.ini aan te passen, nu nog voor de varchars.

#Allow case sensitive table names
lower_case_table_names=0
Gewijzigd op 01/01/1970 01:00:00 door Nils Kuijpers
 
M Ypma

M Ypma

07/10/2008 11:17:00
Quote Anchor link
ik heb een donker bruin vermoedde dat het hier totaal niet gaat om gegevens in de database maar alleen om tabel namen en kolommen. Het is zeer ongebruikelijk om hier hoofdletters in toe te staan, waarom zou je dat willen?
 
Joren de Wit

Joren de Wit

07/10/2008 11:20:00
Quote Anchor link
Quote:
#Allow case sensitive table names
lower_case_table_names=0
Dat wil je zoals Ypma al zegt dus eigenlijk niet. Houd je tabelnamen gewoon lowercase, zoals gebruikelijk is...

Maar als de data al lowercase in je tabellen staat, betekent dat dus dat het bij het invoeren al lowercase is. Je gebruikt toevallig niet ergens een strtolower() in je PHP code?

Laat anders de PHP code waarmee je de data naar de database schrijft eens zien...
 
Nils Kuijpers

Nils Kuijpers

07/10/2008 11:34:00
Quote Anchor link
Blanche, ik heb zo mijn redenen om hoofdletters in tabel namen te willen. (Belangrijkste reden is nog wel mijn foute datamodel ;) )

Maar nee hoor, ook in de records krijg ik geen hoofdletters!
 
Joren de Wit

Joren de Wit

07/10/2008 11:44:00
Quote Anchor link
Dat zeg ik, dan worden de hoofdletters ingezet op het moment van of net voor het toevoegen aan de database. Laat daar dus eens de code van zien...
 
Nils Kuijpers

Nils Kuijpers

07/10/2008 11:49:00
Quote Anchor link
Het enige wat er met de variabelen gebeurt nadat ze zijn gesubmit in een formulier is dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$betreft = $_POST["betreft"];
$omvang = $_POST["omvang"];


Vervolgens worden ze met een query de database in gemietert:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
if(!empty($betreft) && !empty($omvnag))
            {
            $sql = "INSERT INTO tabelnaam
            (Betreft,
            Omvang)
        
            VALUES
            ('".$betreft."',
            ".$omvang.")
            ";
            }
            


zoiets
 
Joren de Wit

Joren de Wit

07/10/2008 11:52:00
Quote Anchor link
Echo de variabelen eens nadat ze uit je formulier komen, dan weet je tenminste zeker dat de hoofdletters daar wel goed doorkomen.

Verder is het vrij nutteloos om die $_POST variabelen te hernoemen, nu zijn het niets meer dan zinloze kopieën. Bovendien vergeet je de input te beveiligen met mysql_real_escape_string(), je script is nu gevoelig voor SQL injectie.
 
Nils Kuijpers

Nils Kuijpers

07/10/2008 11:54:00
Quote Anchor link
Blanche, ik weet dat het erg gevoelig is voor aanvallen, maar dat is absoluut geen probleem. Dit is een script dat ik alleen zelf zal gebruiken op mijn lokale PC, en ik zelf zal m niet plat leggen ;)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo $betreft;
net voor de query levert "Afhang" op, in de database staat "afhang".

Edit:

Tevens de query ge'echo't, die is goed, inclusief hoofdletters dus.

Erg raar allemaal.
Gewijzigd op 01/01/1970 01:00:00 door Nils Kuijpers
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.