Door
Frits van Leeuwen
op 14-08-2017 21:08
gewijzigd op 14-08-2017 21:16
8.421 views
Hallo allemaal,
Ik kom er niet uit. Ik zoek al een hele tijd, maar het wordt me niet duidelijk.
Ik heb in een installatie een database "db_test" laten maken met een user "Test" (ww="Test") en het tekst bestand.ini. In bestand.ini staat alle informatie die nodig is voor het vervolg. Ik heb het gecheckt en dat klopt allemaal.
Bij het openen/starten van "Index.php", haal ik de uit "bestand.ini" binnen, en ik geef ze aan variabelen. Dan wil ik de database activeren en het aantal records tellen dat in de tabel [tabel_administratires] staat. Aan dit laatste durf ik niet goed te beginnen, omdat ik deze melding krijg:
mysql:dbname=db_test ;host=localhost
(2) DB ERROR: invalid data source name
Het punt is dat je een reden zou moeten hebben om deze constructie te gebruiken. Als je niet kunt motiveren waarom je je in allerlei bochten aan het wringen bent ben je enkel onnodig moeilijk aan het doen.
Waarom is het altijd op dit forum dat er nooit afgeweken wordt van het ingeslagen pad? Mensen die reageren gaan vaak (altijd?) mee met wat de TS wil, zonder dat men precies weet wat de TS voor ogen heeft :/. Misschien zit de TS er wel gewoon naast?
Stel dat de ingeslagen weg bij nader inzien niet goed was, zitten we hier met zijn allen een hoop tijd te verdoen. Het lijkt mij de verantwoordelijkheid van de TS om zijn/haar zaak hard te maken en kan motiveren waarom deze denkt dat hij/zij met de gekozen aanpak op de goede weg is. Dit klakkeloos aannemen lijkt mij een vergissing.
Waarom lijken jullie dit niet te zien? Of is dit forum sowieso een soort afhaalchinees, iemand doet een bestelling en deze wordt altijd geleverd? Adje hoc, volgende probleem?
Om op jouw punt terug te komen hoe zet ik database gegevens rechtstreeks in php?
Mijn gedachte zijn dat ik bij nu nog onbekende mensen mijn programma wil kunnen draaien. Ik bevraag eerst in een installatie bestand de gebruiker. Waar ik een database kan stallen. Het is niet mijn bedoeling om het over internet te laten draaien. Wel wil ik het web-based hebben en via een netwerk of lokaal moet het dan gaan werken.
Op dit moment sta ik aan het begin van de ontwikkeling van dat programma. Maar ook ik zelf wil via dit programma ook een hoop leren over php. Ik kom al een heel eind, maar ik loop zo af en toe ergens tegen aan. Ik heb op advies van dit forum mijn denkwijze om gegooid. Daarna kreeg ik nieuw inzichten vanuit dit forum. Deze probeer ik direct toe te passen.
Verder is het misschien verstandig om eerst PHP te leren en vervolgens pas een programma/webapplicatie gaan schrijven, probeer eerst gewoon wat praktische kennis op te doen.
Ben,
je had een mooi stukje code geschreven.(15/08/2017 23:27:59) Bedankt hier voor. Helemaal begrijpen doe ik het nog niet , maar daar kom ik wel uit.
Alleen voor jouw informatie (en dat van alle lezers die er iets mee willen) zet deze code alles in 1 lange string.
Open het bestand eens met iets anders dan kladblok, dan zie je dat dat niet zo is :)
EDIT: net de code even getest, als ik de code op Windows laat draaien krijg je Windows enters, als je het op een Linux of OSX machine laat draaien wordt het anders. Fatsoenlijke editors snappen het dan nog wel, het kladblokje van Windows alleen niet.
Ik had niet verwacht dat kladblok het probleem zou zijn.
Nu lijk ik weer terug te zijn bij het begin van deze topic. Ik heb de installatie procedure aangepast, zodat ik nu een gebruikelijke versie van een ini-bestand heb. Nu is het inlezen weer aan de beurt.
Het probleem bleek te zijn, dat ik een spatie achter de inhoud van de variabele kreeg. Een oplossing die ik aangereikt kreeg, was parse_ini_file(). Hiervoor had ik natuurlijk wel een goed ini-bestand nodig. Deze is me hier goed aangegeven. Bedankt allemaal voor zover.
Ik ga nu speuren hoe ik parse_ini_file() kan gaan gebruiken.
Nou, technisch gezien kreeg je geen spatie, het was een enter die als spatie werd weergegeven. Dat is een artifact van fread, file etc. Regeleindes worden gewoon aan de data toegevoegd, maar wordt ook als delimiter gebruikt. Een beetje een "trap for young players".
Met de volgende code (Die heb ik nu) om een ini-bestand in te lezen, krijg ik niets leesbaars in beeld. Dus ook geen foutmelding. Wat doe ik dan niet goed. Ik heb het gevoel dat ik dichtbij ben, maar toch ook nog net niet. Het ini-bestand is gevuld. Het staat ook nog gewoon in de root.
[size=xsmall]Toevoeging op 17/08/2017 00:09:13:[/size]
Met de volgende code (Die heb ik nu om een ini-bestand in te lezen, krijg ik niets leesbaars in beeld. Dus ook geen foutmelding. Wat doe ik dan niet goed. Ik heb het gevoel dat ik dichtbij ben, maar toch ook nog net niet.