Whitespace na PDO construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Mark D

Mark D

11/07/2009 19:30:00
Quote Anchor link
Hey allemaal,

Ik zit met het volgende probleempje:
In mijn site maak ik gebruik van MVC, en ik probeer een RSS-feed weer te geven via de url /posts/all/feed/ Dan beginnen de troubles. Ik krijg een error van firefox: XML Parsing Error: XML or text declaration not at start of entity. Er staat een spatie voor de xml declaration. Ik heb nu door middel van commenten kunnen bepalen dat dit in een regel gebeurt waar de PDO wordt geconstruct. Als dit is gecomment staat er dus geen spatie meer. Hoe kan dit ooit? Die regel kan (zelfs als er een spatie voor of achter staat) geen spatie als html laten zien, en de PDO class is neem ik aan ook wel fatsoenlijk gebouwd, waardoor het mij gek lijkt dat er ergens een spatie te veel in staat.

Hebben jullie enig idee waardoor die whitespace kan komen?

Het regeltjes waar het fout gaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

// set up database connectivity
$reg->db = new PDO(
                    "mysql:dbname=" . $reg->config['database']['database'] . ";host=" . $reg->config['database']['host'],
                    $reg->config['database']['username'],
                    $reg->config['database']['password']
                    );

?>

Mark
Gewijzigd op 01/01/1970 01:00:00 door Mark D
 
PHP hulp

PHP hulp

22/11/2024 06:01:44
 
GaMer B

GaMer B

11/07/2009 19:33:00
Quote Anchor link
Wat voor een text-editor gebruik je? Misschien dat je editor een BOM (Byte Order Marker) toevoegt aan het begin van het bestand...
 
Mark D

Mark D

11/07/2009 21:14:00
Quote Anchor link
Notepad++
Ik neem aan dat je dat met text-editor bedoelt...
Het is alleen wel gek dat mn editor dat dan alleen bij een class zou doen waar hij eigenlijk geen toegang toe heeft, aangezien het dan in het bestand van de PDO class zou moeten staan. De whitespace gaat namelijk weg zodra ik het aanmaken van een PDO object comment. De PDO class staat neem ik aan ook op een heel andere plek dan mij public_html directory.
 
Jelmer -

Jelmer -

11/07/2009 21:58:00
Quote Anchor link
$req, $req->config en $req->config['database'] zijn alle drie ook niet vreemde objecten? Het zou kunnen dat je daar dingen doet als __get en __set, of iets met ArrayAccess, en daar dus allemaal method-aanroepen hebt staan, en tijdens die aanroepen zou ergens een spatie tevoorschijn kunnen komen. Include config een of ander bestandje, en zit daar misschien die spatie of BOM in?
 
Mark D

Mark D

11/07/2009 22:16:00
Quote Anchor link
Ik heb voor de zekerheid even alle parameters vervangen voor strings, maar hetzelfde effect blijft optreden... De spatie zit ook niet in includen, de spatie gaat al weg op het moment dat ik alleen de regel van de PDO construct comment, verder laat ik alles staan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// set up database connectivity
$reg->db = new PDO(
                    "mysql:dbname=blog;host=localhost",
                    "root",
                    ""
                    );
?>

Zo werkt het dus ook niet.

Ik wil ook wel meer code posten, maar ik ben niet helemaal zeker welke stukken jullie dan precies willen hebben...
Gewijzigd op 01/01/1970 01:00:00 door Mark D
 
Jelmer -

Jelmer -

11/07/2009 23:19:00
Quote Anchor link
Wat zijn de gevolgen wanneer je $reg->db eruit comment. Welke code wordt dan als gevolg daarvan nog meer niet uitgevoerd. Zou het probleem in die code kunnen zitten?
 
Lode

Lode

12/07/2009 01:02:00
Quote Anchor link
$reg->db =
Public vars zijn zoiezo oncontroleerbaar.
Gebruik getters & setters, dan heb je iets van controle over wat er in een var gaat...

een public var is als een unox rookworst in een paaldans club...
 
Mark D

Mark D

12/07/2009 10:39:00
Quote Anchor link
@Jelmer, het gevolg van het commenten van die code is enkel dat er geen database object wordt aangemaakt in mn registry. Verder hangt van die regel niet af of er iets wordt geinclude ofzo.

@Lode, ik gebruik ook setters en getters. Je hebt in php5 daar de mooie methods __get() en __set() voor.
 
Mark D

Mark D

12/07/2009 20:06:00
Quote Anchor link
Probleem is opgelost. Het zat hem uiteindelijk toch niet in de PDO maar een spatie achter de php sluittag in registry.php. Ik snap alleen nog steeds niet waarom die spatie niet werd weergegeven als ik de pdo construct had gecomment...
 
Jurgen assaasas

Jurgen assaasas

12/07/2009 20:38:00
Quote Anchor link
Moet host niet voor dbname komen of maakt dat niet uit? Desnoods even een try/catch doen om er achter te komen.
 
GaMer B

GaMer B

12/07/2009 21:17:00
Quote Anchor link
Tip voor Mark: Sluit PHP nooit met een sluittag. Laat de sluittag gewoon weg, je ziet maar weer wat dit voor problemen geeft.
 



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.