[PHP] Maximale lengte van een variabele

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Beste mensen,

Ik maak gebruik van een Access database waarin een veld staat met het type 'memo'. Wanneer ik deze wil laten zien door dit veld mbv php in een variabele te stoppen dan ontbreekt er, wanneer de inhoud erg groot is, een stuk van de tekst.
De tekst staat wel helemaal goed in access, maar zodra ik hem wil laten zien op de website, dan valt er al het ware een stuk tekst weg. (Dit gebeurd dus alleen wanneer de inhoud erg groot is.

ik heb ook al
PHP:
1
echo '<pre>'.print_r($obj, 1).'</pre>';

geprobeerd, maar ook hier geeft hij dus niet alle tekst weer.

Ik heb al hier op tweakers en phpfreakz gezocht of er al iets van over bekend was, de maximale grootte van en variabele ofso, maar ben tot dusver nog niet veel wijzer geworden.
Ik hoop dat jullie me hiermee verder kunnen helpen.

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Voor zover ik weet zit er theoretisch geen maximum aan de lengte van een string (misschien 2^16/2^32 karakters? Erg veel iig ;)). Denk dat de fout eerder zit in de functie die je gebruikt voor het ophalen van de data uit de database.

[edit]
Om hoeveel tekst gaat het? Lengte van de originele tekst, en lengte van de tekst die PHP opslaat in de variabele.

[ Voor 22% gewijzigd door sjroorda op 02-11-2005 13:29 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Het is een probleem van de ODBC driver. Een oplossing weet ik niet, maar misschien helpt het je zoektocht :)

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
De manier waarop ik hem uit de database haal.....
PHP:
1
2
3
            $Kenmerken = $obj['Kenmerken'];
            $Kenmerken = nl2br($Kenmerken);
            $Kenmerken = str_replace(chr(9), "&nbsp;&nbsp;&nbsp;&nbsp;",$Kenmerken);

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Hiermee haal je hem niet uit de database...

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
aantal tekens met php
3.404 tekens excl spaties
3.972 tekens incl spaties

aantal tekens in database
7.173 tekens excl spaties
8.352 tekens incl spaties

Hoe ik hem dan ophaal uit mijn database... ;)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    $db = "C:\Inetpub\wwwroot\Projectdb\Projecttabellen.mdb";
    $conn = odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ='.$db, '', '');
//Controle op verkeerde waarde  
     $qryCheck = "SELECT * FROM Projecten WHERE Projectnr = '".$nr."'";
     $result = odbc_exec($conn, $qryCheck);
     $result = odbc_fetch_row($result);
     if ($result < 1) { echo"Dit project bestaat niet, kies alstublieft een andere"; }
     else 
 {
    
    $qryProject = "SELECT * FROM Projecten WHERE Projectnr = '".$nr."' ";

            if( $resProject = odbc_exec($conn, $qryProject) )
            {
              while( $obj = odbc_fetch_array($resProject) )
              { 
                             // de rest is bekend...

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
T-MOB schreef op woensdag 02 november 2005 @ 13:29:
Het is een probleem van de ODBC driver. Een oplossing weet ik niet, maar misschien helpt het je zoektocht :)
Nah, het heeft nog niet echt geholpen, maar toch bedankt.
Ik heb wel daarmee ergens gevonden dat het misschien kan liggen aan de
odbc.defaultlrl in je php.ini.
Deze heb ik gezet op 14000 en dat lijkt me wel genoeg.
Na het restarten van iis server doet hij het nog steeds niet :/

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Ik ben met mssql tegen dezelfde beperking opgelopen, toen heb ik het opgelost door het memoveld te casten als (als ik het me goed herinner) een text veld, maar dat moet ik ff opzoeken.

Misschien werkt dit ook met access....

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
maximale veldlengte voor een 'tekst' veld is 255 karakters, aldus meneer access :|

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Apart stukje code overigens :)

code:
1
2
3
4
5
6
7
haal data op

als geen resultaat
   geef bericht
anders
   haal data (nog een keer) op
   doe wat met data

[ Voor 3% gewijzigd door Bosmonster op 02-11-2005 13:59 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Theske schreef op woensdag 02 november 2005 @ 13:58:
maximale veldlengte voor een 'tekst' veld is 255 karakters, aldus meneer access :|
Toch staat er in het database veld meer omdat dat van het type memo is, in PHP heb je daarvoor een 'mediumtext' veld voor nodig (Geloof 16.384 chars)

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Bosmonster schreef op woensdag 02 november 2005 @ 13:58:
Apart stukje code overigens :)

code:
1
2
3
4
5
6
7
haal data op

als geen resultaat
   geef bericht
anders
   haal data (nog een keer) op
   doe wat met data
Haha, idd klopt.. eigenlijk ff niet zo naar gekeken :X
Maar bedankt voor de reactie ;)
Verder nog mogelijkheden voor mn probleem?

EDIT:::
Verwijderd schreef op woensdag 02 november 2005 @ 14:00:
[...]

Toch staat er in het database veld meer omdat dat van het type memo is, in PHP heb je daarvoor een 'mediumtext' veld voor nodig (Geloof 16.384 chars)
Tja, in acces staat aangegeven dat een memo 65.535 tekens kan hebben....
Maar moet ik dan in mn php script iets gaan aanpassen voor die mediumtekst ofsow??

[ Voor 35% gewijzigd door Theske op 02-11-2005 14:04 ]

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
oke oke oke... hij doet het weer!!!!
Ik zei dat ik de odbc.defaultlrl in mn php.ini op 14000 had gezet... dat was waar, alleeeeeen ik had het in de php.ini in mijn php map veranderd en niet onder de windows dir.
Allen bedankt voor de hulp en moeite!
Ciao

Proud member of the Cosmic Cows

Pagina: 1