Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

[Mysql]Fields veilig wijzigen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een script gekocht een paar dagen geleden. Gezien de losse language-files leek het me wel eenvoudig om deze in feite zo om te zetten in Nederlandse taal, wat ook voor 97% gelukt is. De overige 3%, staat in de database en wordt uitgeperst in een cachefile die voor de opbouw / taal van de site zorgt. Nu staat dit default in engels en is dit niet gedefineerd in de losse languagefiles. Het aanpassen van een cachefile bijv is geen oplossing, want bij de volgende run zijn de bestanden overschreden en zou technisch mijn website weer deels in engels komen te staan.

Het gaat bijv om het volgende:

code:
1
INSERT INTO `fields` VALUES(11, 2, 'ethnicity', '', 'english=Ethnicity', 'combo', 'I''ll tell you later', 'english=I''ll tell you later\nAfrican American (black)\nAsian\nCaucasian (white)\nEast Indian\nHispanic/Latino\nMiddle Eastern\nNative American\nPacific Islander\nInter-racial\nOther', '', '', '', '0', '0', '0', '0', '1', 4);


Hier gaat het dus om bijv etnische afkomt. Als ik simpelweg english=blaat zou wijzigen kom ik er wel, maar das alleen de eerste waarde. Ik zou ze allemaal kunnen aanpassen, dan is het ook in orde. Het volgende bemoeilijkt de boel alleen maar:

code:
1
INSERT INTO `fields` VALUES(4, 1, 'country', '', 'english=Land', 'combo', 'Canada', 'english=Canada\nUSA\nAfghanistan\nAlbania\nAlgeria\nAmerican Samoa\nAndorra\nAngola\nAnguilla\nAntarctica\nAntigua and Barbuda\nArgentina\nArmenia\nAruba\nAustralia\nAustria\nAzerbaijan\nBahamas\nBahrain\nBangladesh\nBarbados\nBelarus\nBelgium\nBelize\nBenin\nBermuda\nBhutan\nBolivia\nBosnia/Herzegowina\nBotswana\nBouvet Island\nBrazil\nBritish Ind. Ocean\nBrunei Darussalam\nBulgaria\nBurkina Faso\nBurundi\nCambodia\nCameroon\nCape Verde\nCayman Islands\nCentral African Rep.\nChad\nChile\nChina\nChristmas Island\nCocoa (Keeling) Is.\nColombia\nComoros\nCongo\nCook Islands\nCosta Rica\nCote Divoire\nCroatia\nCuba\nCyprus\nCzech Republic\nDenmark\nDjibouti\nDominica\nDominican Republic\nEast Timor\nEcuador\nEgypt\nEl Salvador\nEquatorial Guinea\nEritrea\nEstonia\nEthiopia\nFalkland Islands\nFaroe Islands\nFiji\nFinland\nFrance\nGabon\nGambia\nGeorgia\nGermany\nGhana\nGibraltar\nGreece\nGreenland\nGrenada\nGuadeloupe\nGuam\nGuatemala\nGuinea\nGuinea-Bissau\nGuyana\nHaiti\nHonduras\nHong Kong\nHungary\nIceland\nIndia\nIndonesia\nIran\nIraq\nIreland\nIsrael\nItaly\nJamaica\nJapan\nJordan\nKazakhstan\nKenya\nKiribati\nKorea\nKuwait\nKyrgyzstan\nLao\nLatvia\nLebanon\nLesotho\nLiberia\nLiechtenstein\nLithuania\nLuxembourg\nMacau\nMacedonia\nMadagascar\nMalawi\nMalaysia\nMaldives\nMali\nMalta\nMarshall Islands\nMartinique\nMauritania\nMauritius\nMayotte\nMexico\nMicronesia\nMoldova\nMonaco\nMongolia\nMontserrat\nMorocco\nMozambique\nMyanmar\nNamibia\nNauru\nNepal\nNetherlands\nNew Caledonia\nNew Zealand\nNicaragua\nNiger\nNigeria\nNiue\nNorfolk Island\nNorway\nOman\nPakistan\nPalau\nPanama\nPapua New Guinea\nParaguay\nPeru\nPhilippines\nPitcairn\nPoland\nPortugal\nPuerto Rico\nQatar\nReunion\nRomania\nRussia\nRwanda\nSaint Lucia\nSamoa\nSan Marino\nSaudi Arabia\nSenegal\nSeychelles\nSierra Leone\nSingapore\nSlovakia\nSolomon Islands\nSomalia\nSouth Africa\nSpain\nSri Lanka\nSt. Helena\nSudan\nSuriname\nSwaziland\nSweden\nSwitzerland\nSyria\nTaiwan\nTajikistan\nTanzania\nThailand\nTogo\nTokelau\nTonga\nTrinidad and Tobago\nTunisia\nTurkey\nTurkmenistan\nTuvalu\nUganda\nUkraine\nUnited Arab Emirates\nUnited Kingdom\nUruguay\nUzbekistan\nVanuatu\nVatican\nVenezuela\nViet Nam\nVirgin Islands\nWestern Sahara\nYeman\nYugoslavia\nZaire\nZambia\nZimbabwe', '', '', '', '1', '1', '1', '1', '1', 4);


:X Ik hoef eerlijk gezegd al die landen niet. Belgie & Nederland zou meer dan genoeg zijn, maar door de reeks aan quotes kan ik het niet fatsoenlijk afsluiten nor dat Mysql gewillig dit nog wil importeren. Even voor de duidelijkheid, ik weet wel wat van Mysql af maar wijzigen wat ik niet zelf gemaakt heb is dan ook uit ten boze. Iemand een tip en of swing in de juiste richting? Nog maar eentje om het af te leren: Lichaamslengte in Inch... :|
code:
1
INSERT INTO `fields` VALUES(8, 2, 'height', '', 'english=Height', 'combo', 'I''ll tell you later', 'english=I''ll tell you later\n3'' 0"\n3'' 1"\n3'' 2"\n3'' 3"\n3'' 4"\n3'' 5"\n3'' 6"\n3'' 7"\n3'' 8"\n3'' 9"\n3'' 10"\n3'' 11"\n4'' 0"\n4'' 1"\n4'' 2"\n4'' 3"\n4'' 4"\n4'' 5"\n4'' 6"\n4'' 7"\n4'' 8"\n4'' 9"\n4'' 10"\n4'' 11"\n5'' 0"\n5'' 1"\n5'' 2"\n5'' 3"\n5'' 4"\n5'' 5"\n5'' 6"\n5'' 7"\n5'' 8"\n5'' 9"\n5'' 10"\n5'' 11"\n6'' 0"\n6'' 1"\n6'' 2"\n6'' 3"\n6'' 4"\n6'' 5"\n6'' 6"\n6'' 7"\n6'' 8"\n6'' 9"\n6'' 10"\n6'' 11"\n7'' 0"\n7'' 1"\n7'' 2"\n7'' 3"\n7'' 4"\n7'' 5"\n7'' 6"\n7'' 7"\n7'' 8"\n7'' 9"\n7'' 10"\n7'' 11"', '', '', '', '0', '0', '0', '0', '1', 2);

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 23-10 07:43

Mike2k

Zone grote vuurbal jonge! BAM!

Uhmm, als ik het goed begrijp:
De velden zijn al aangemaakt en jij probeert nu de query aan te passen die de data in de velden zet...

Moet je dan niet ook de velden aan passen voordat je de query aan gaat passen.
Als jij bijvoorbeeld 10 velden in je tabel hebt die allemaal "not null" moeten zijn en jij probeert vervolgens met een query maar 8 velden te vullen dan krijg je inderdaad een foutmelding.

Speaking of which....de foutmelding die je krijgt is ook wel handig ;)

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Verwijderd

Topicstarter
Stel dat ik alleen de waardes wil wijzigen die de taal moeten weergeven, bijv

code:
1
INSERT INTO `fields` VALUES(4, 1, 'country',


Logisch dat het hier om de landen gaat. Het volgende defineert dus de call naar de template en de text die het hoort te hebben:
code:
1
'english=Land'

So far so good. Nu krijg je dus de landen die er allemaal bijhoren. Ik wil dus alleen Nederland & Belgie. Het eerste logische zou zijn ipv:
code:
1
combo', 'Canada', 'english=Canada\nUSA\nAfghanistan\nAlbania\nAlgeria\nAmerican Samoa\nAndorra\nAngola\nAnguilla\nAntarctica\nAntigua and Barbuda\nArgentina\nArmenia\nAruba\nAustralia\nAustria\nAzerbaijan\nBahamas\nBahrain\nBangladesh\nBarbados\nBelarus\nBelgium\nBelize\nBenin\nBermuda\nBhutan\nBolivia\nBosnia/Herzegowina\nBotswana\nBouvet Island\nBrazil\nBritish Ind. Ocean\nBrunei Darussalam\nBulgaria\nBurkina Faso\nBurundi\nCambodia\nCameroon\nCape Verde\nCayman Islands\nCentral African Rep.\nChad\nChile\nChina\nChristmas Island\nCocoa (Keeling) Is.\nColombia\nComoros\nCongo\nCook Islands\nCosta Rica\nCote Divoire\nCroatia\nCuba\nCyprus\nCzech Republic\nDenmark\nDjibouti\nDominica\nDominican Republic\nEast Timor\nEcuador\nEgypt\nEl Salvador\nEquatorial Guinea\nEritrea\nEstonia\nEthiopia\nFalkland Islands\nFaroe Islands\nFiji\nFinland\nFrance\nGabon\nGambia\nGeorgia\nGermany\nGhana\nGibraltar\nGreece\nGreenland\nGrenada\nGuadeloupe\nGuam\nGuatemala\nGuinea\nGuinea-Bissau\nGuyana\nHaiti\nHonduras\nHong Kong\nHungary\nIceland\nIndia\nIndonesia\nIran\nIraq\nIreland\nIsrael\nItaly\nJamaica\nJapan\nJordan\nKazakhstan\nKenya\nKiribati\nKorea\nKuwait\nKyrgyzstan\nLao\nLatvia\nLebanon\nLesotho\nLiberia\nLiechtenstein\nLithuania\nLuxembourg\nMacau\nMacedonia\nMadagascar\nMalawi\nMalaysia\nMaldives\nMali\nMalta\nMarshall Islands\nMartinique\nMauritania\nMauritius\nMayotte\nMexico\nMicronesia\nMoldova\nMonaco\nMongolia\nMontserrat\nMorocco\nMozambique\nMyanmar\nNamibia\nNauru\nNepal\nNetherlands\nNew Caledonia\nNew Zealand\nNicaragua\nNiger\nNigeria\nNiue\nNorfolk Island\nNorway\nOman\nPakistan\nPalau\nPanama\nPapua New Guinea\nParaguay\nPeru\nPhilippines\nPitcairn\nPoland\nPortugal\nPuerto Rico\nQatar\nReunion\nRomania\nRussia\nRwanda\nSaint Lucia\nSamoa\nSan Marino\nSaudi Arabia\nSenegal\nSeychelles\nSierra Leone\nSingapore\nSlovakia\nSolomon Islands\nSomalia\nSouth Africa\nSpain\nSri Lanka\nSt. Helena\nSudan\nSuriname\nSwaziland\nSweden\nSwitzerland\nSyria\nTaiwan\nTajikistan\nTanzania\nThailand\nTogo\nTokelau\nTonga\nTrinidad and Tobago\nTunisia\nTurkey\nTurkmenistan\nTuvalu\nUganda\nUkraine\nUnited Arab Emirates\nUnited Kingdom\nUruguay\nUzbekistan\nVanuatu\nVatican\nVenezuela\nViet Nam\nVirgin Islands\nWestern Sahara\nYeman\nYugoslavia\nZaire\nZambia\nZimbabwe', '', '', '', '1', '1', '1', '1', '1', 4);
naar

code:
1
combo', 'Nederland', 'english=Nederland\', '', '', '', '1', '1', '1', '1', '1', 4);


Maar dat gaat ongetwijfeld niet lukken omdat die reeks quotes en komma's erachteraan komen. Omdat ik er geen kaas van gegeten heb weet ik dus ook niet 1-2-3 dit aan te passen en wel werkzaam te krijgen in m'n DB.

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 23-10 07:43

Mike2k

Zone grote vuurbal jonge! BAM!

Maar dat gaat ongetwijfeld niet lukken omdat die reeks quotes en komma's erachteraan komen. Omdat ik er geen kaas van gegeten heb weet ik dus ook niet 1-2-3 dit aan te passen en wel werkzaam te krijgen in m'n DB.
Laat dan zien waarom dat niet lukt!? wij hebben geen inzicht in de opbouw van je db...

Overigens, die quotes en comma's geven waarden aan.
dus: "INSERT INTO 'test' VALUES ('waarde1', 'waarde2', 'waarde3'"
Dus in jouw query probeer je dus ook een paar lege waarden in te voeren. Wellicht dat je tabel dat niet toestaat... maar ik zou zeggen, probeer het eerst even en kijk wat er gebeurt....

[ Voor 32% gewijzigd door Mike2k op 06-08-2008 11:28 ]

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Zoek eens op escaping :)

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Die gruwelijk lange string kan je gewoon inkorten, dus hop, kijk wat er gebeurt.... :? Nofi, maar als je geen string syntax herkent moet je dat eerst leren ipv doen whatever je nu mee bezig bent.

{signature}


  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Haal die vieze backtics eens weg in je querys.. Die onderdrukken alleen reserved SQL words en dat moet je niet doen.

En wat doen die lege waardes in je query, die kan je beter vullen met NULL (automatisch via table properties) of in de query.

En escaping is ook wel handig ja :
INSERT INTO fields VALUES ('sslsls \' lslasmdlasmsad'); < etc.

Wat ik zelf ook makkelijk vind is dat je aangeeft in welke velden je waardes gooit, nu weet je dat wel, maar een foutje en je query faalt ;

INSERT INTO fields (<veld1>, <veld2>) VALUES ('eerste waarde.', 'tweede waarde.');

Die \n is een newline trouwens.

offtopic:
Wat voor een script is dat ? :x

[ Voor 7% gewijzigd door sky- op 06-08-2008 11:36 ]

don't be afraid of machines, be afraid of the people who build and train them.


Verwijderd

Topicstarter
Fastex schreef op woensdag 06 augustus 2008 @ 11:22:
[...]


maar ik zou zeggen, probeer het eerst even en kijk wat er gebeurt....
Ik heb dus country even erbij gepakt, aangepast, zorgen dat de haakjes niet te veel en niet te weinig er stonden, vervolgens gepoogd te importeren maar bij een andere onaangepaste regel gaat het fout. Hij importeerd 'm dan ook half, en het script komt er niet werkzaam uit (i.e cruciaale gegevens ontbreekt bij bijv een registratieprocess waardoor registratie niet eens lukt).

Ik ben denk ik makkelijker uit als ik dit laat doen. Ik weet immers welke woorden ik hebben moet, grotendeels heb ik het script zelf aangepast alleen het is gewoon dom om de basis van je language vast te zetten in je DB in vreselijke code.

Verwijderd

Best sneu voor een gekocht script, vind je niet?

  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Zo te zien heeft dat script wat je gekocht hebt al een vorm van localization, en probeer jij daar omheen te werken door de teksten voor de taal 'engels' aan te passen. Ik zou even contact opnemen met de bron / je in de docs verdiepen want het lijkt er op alsof je gewoon een taal toe kunt voegen.
Verwijderd schreef op woensdag 06 augustus 2008 @ 11:42:
Best sneu voor een gekocht script, vind je niet?
Je moet z'n portfolio eens bekijken ;)

[ Voor 26% gewijzigd door Hydra op 06-08-2008 11:46 ]

https://niels.nu


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

sky- schreef op woensdag 06 augustus 2008 @ 11:34:
Haal die vieze backtics eens weg in je querys.. Die onderdrukken alleen reserved SQL words en dat moet je niet doen.
Vies? Het is juist handig om dit gewoon altijd te doen, maak je daar geen fouten mee:
An identifier may be quoted or unquoted. If an identifier contains special characters or is a reserved word, you must quote it whenever you refer to it.
En wat doen die lege waardes in je query, die kan je beter vullen met NULL (automatisch via table properties) of in de query.
Waarom NULL gebruiken als je een lege string als waarde wilt hebben? ;)

Verwijderd

Topicstarter
Verwijderd schreef op woensdag 06 augustus 2008 @ 11:42:
[...]

Best sneu voor een gekocht script, vind je niet?
Ach. Je wilt niet weten wat voor een issues ik had met het vorig script van een belgische schrijver, die er 135 euro voor vraagt. Dat is eigenlijk de hele reden waarom ik een nieuw script gekocht heb. Zoveel mogelijk is modulair, maar ik kon verder ook niet weten dat een deel van de taal verstopt zat in de DB. Ik zoek dus nog wel iemand om het vuile werk (zeg maar :P ) te laten doen voor mij. Eventueel tegen kleine vergoeding. Dit is eerlijk gezegd zoiets kleins dat het voor mij niet de moeite waard is om een halve middag ermee bezig te zijn, frustreerd te raken terwijl ik ondertussen met de site al verder kon gaan. zucht

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 23-10 07:43

Mike2k

Zone grote vuurbal jonge! BAM!

Hey lism, als CGG gebruikers onder elkaar ;), je kan wel blijven prutsen met gekochte scripts, maar het is makkelijker om het zelf te leren want hakken in een andermans script is altijd lastig...

Maar als je hulp nodig hebt..geef maar een gil...

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Verwijderd

Topicstarter
Ik heb het geduld er soms gewoon niet voor een uitgebreid script te gaan zitten schrijven. Waarom moeilijk doen als je in feite een complete engine tegen vergoeding krijgen kan en daar zelf de body omheen bouwt? Dat het nu voor 3% ff tegenzit, tja... Maar dat heb je met alles wel.

CGG, Lang geleden joh :D

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Erkens schreef op woensdag 06 augustus 2008 @ 11:45:
[...]

Vies? Het is juist handig om dit gewoon altijd te doen, maak je daar geen fouten mee:
Toch vind ik het vies, maar goed dit varieerd natuurlijk per programmeur natuurlijk. Ik programmeer met meerdere databases (pg, ms, oracle) en hou me wel aan bepaalde 'regels'. Zoals het niet gebruiken / aanmaken van exotische tabel en veldnamen. Maar goed, dat is ook meer iets persoonlijk.
Erkens schreef op woensdag 06 augustus 2008 @ 11:45:

[...]


[...]

Waarom NULL gebruiken als je een lege string als waarde wilt hebben? ;)
Tja ok, maar als ik een lege string als waarde zou willen hebben zou ik er dus ook geen waarde inzetten.

don't be afraid of machines, be afraid of the people who build and train them.

Pagina: 1