Slash in tabelnaam
Ik heb met PHP een ODBC koppeling gemaakt met een lokale DSN. Nu loop ik tegen het probleem aan dat de tabel die ik nodig heb een slahs in de naam heeft. Ik heb onderstaande code geprobeerd met andere tabelnamen zonder slashes erin en dat functioneert gewoon. De tabel in onderstaande code werkt echter niet. Is dit op te lossen en zo ja kan iemand mij vertellen hoe ?? Het betreft hier een koppeling met ons ERP pakket. Ik heb verder geen invloed op veldnamen e.d.
$sql = "Select * from D/L_Kop";
$rs=odbc_exec($conn,$sql);
if (!$rs) {
exit("mislukt " );
}
while(odbc_fetch_row($rs)){
$nummer=odbc_result($rs,1);
echo $nummer;
}
Groeten Arno
De oplossing is de slash vervangen door een underscore (_).
Mocht dat niet kunnen dan kan je misschien backtics gebruiken (links naast de 1).
Dus Select * from `D/L_Kop`
In dat geval kun je escapen met [], dus: select * from [D/L_Kop]
Beide escapes mogelijkheden werken bij mij helaas niet..
Quote:
Column names and table names can occur as delimited identifiers if
they contain non-ODBC standard characters. The delimiter
character for delimited identifiers is a double-quote. For example:
SELECT "last-name" FROM "non-standard-tbl"
they contain non-ODBC standard characters. The delimiter
character for delimited identifiers is a double-quote. For example:
SELECT "last-name" FROM "non-standard-tbl"
Dit suggereert dat 'select * from "D/L_Kop"' zou moeten werken.
Deze suggestie klopt... Ik heb het nu werkend. Had me eigenlijk nog niet verdiept in de Pervasive tabel..
Dank voor de hulp in ieder geval, ik kan weer verder.
Overigens zou ik zelf nooit dit soort tekens in database, tabel of veldnamen gebruiken, maar dat is weer een heel ander verhaal ;o)