Situatie is: ik heb een webapplicatie, geschreven in PHP die via ODBC gebruik maakt van een MS SQL-database.
Ik heb in 1 bepaalde tabel 1 text-field waar ik heleboel data in pleur. Omdat die data uit een heleboel tekens kan bestaan (gemixt HTML, dingen met aanhalingstekens, ..., geen binaire data) BASE64-encode ik deze data alvorens in die tabel weg te schrijven (BASE64 bestaat uit enkel letters en cijfers waardoor een query niet stuk loopt op een bepaald teken).
Nu zijn m'n vragen:
1) Wat moet ik escapen of op andere wijze encoderen zodat ik zonder problemen de tekst kan opslaan zonder dat ik deze in z'n geheel moet BASE64-encoden?
2) Doel is namelijk te kunnen gaan zoeken op substrings. Dat kan via de LIKE-operator, maar ik neem aan dat in MS SQL ook Fulltext-searches mogelijk zijn. Wat moet ik hier voor doen aan server-kant en hoe zien die queries er uit? Ik ken de MySQL-syntax wel (MATCH AGAINST), maar 't lijkt me sterk moest dat in MS SQL ook zo zijn. Klopt het ook dat MSDE2000 of SQL Server Express geen Fulltext hebben? Dat zou bummer zijn voor m'n development-omgeving namelijk .
//edit: Als voorbeeldje zo'n string die ik zou willen kunnen opslaan:
Code: Selecteer alles
a:8:{s:9:"user_data";a:9:{s:11:"user_domain";s:14:"STRIPPED";s:7:"user_nt";s:6:"Linda";s:7:"user_id";
s:2:"13";s:4:"help";i:0;s:4:"lcid";i:1043;s:4:"font";s:3:"off";s:9:"user_mail";s:31:"[email protected]";
s:16:"user_displayname";s:12:"Linda";s:4:"auth";a:2:{i:0;s:5:"LOGIN";i:1;s:5:"OALVG";}}s:12:"APP_FORMTYPE";
s:5:"inlog";s:6:"frm_NT";a:9:{s:8:"formtype";s:3:"new";s:4:"date";s:10:"16-04-2008";s:4:"name";s:7:"BLA";
s:9:"givenname";s:6:"Maaike";s:10:"costcentre";s:8:"BIOMASSA";s:10:"employment";s:4:"Vast";s:8:"fromdate";
s:10:"01-05-2008";s:6:"todate";s:0:"";s:8:"frm_v_NT";s:3:"0.2";}s:8:"username";s:22:"Maaike (Nieuw)";
s:11:"frm_Windows";a:10:{s:10:"department";s:9:"Recycling";s:5:"title";s:13:"Officemanager";
s:14:"officelocation";s:3:"VLH";s:15:"Taal-instelling";s:2:"NL";s:12:"emailcentral";s:2:"No";s:8:"internet";
s:4:"Full";s:10:"sharepoint";s:3:"Yes";s:3:"owa";s:3:"Yes";s:7:"remarks";s:0:"";s:13:"frm_v_Windows";
s:3:"0.2";}s:9:"frm_share";a:10:{s:7:"share-1";s:19:"FILE\Biomass";s:14:"share-1-access";s:2:"RW";
s:7:"share-2";s:31:"FILE\B&V_Management_info";s:14:"share-2-access";s:2:"RW";s:7:"share-3";
s:22:"FILE\Processing";s:14:"share-3-access";s:2:"RW";s:7:"share-4";s:0:"";s:7:"share-5";s:0:"";
s:7:"remarks";s:0:"";s:11:"frm_v_share";s:3:"0.1";}s:12:"frm_Exact-NL";a:5:{s:9:"exactglob";
s:3:"Yes";s:8:"ms-query";s:2:"No";s:17:"administration-nr";s:0:"";s:7:"remarks";s:84:"Exact rechten
aangevraagd door HRM - welke niet duidelijk - meer informatie gevraagd";s:14:"frm_v_Exact-NL";
s:3:"0.1";}s:8:"finalize";a:19:{s:7:"remarks";s:78:"<p>Exact rechten - wachten tot meer info</p>
<p>leidinggevende : Toon Beeks</p>";s:9:"submit-by";s:21:"STRIPPED\LindaC";s:21:"submit-by_displayName";
s:12:"Linda";s:14:"submit-by_mail";s:31:"[email protected]";s:15:"submit-by_title";s:33:"Manager
Assistent/Ict Coordinator";s:36:"submit-by_physicalDeliveryOfficeName";s:10:"Soerendonk";
s:17:"submit-by_company";s:5:"Groep";s:18:"approved-by_domain";s:28:"0##STRIPPED.corp.local";
s:11:"approved-by";s:10:"Toon";s:17:"approved-by_title";s:16:"Manager Biowaste";
s:38:"approved-by_physicalDeliveryOfficeName";s:17:"Eindhoven";s:19:"approved-by_company";
s:5:"Groep";s:16:"approved-by_mail";s:29:"[email protected]";s:19:"approved-by2_domain";
s:28:"0##STRIPPED.corp.local";s:12:"approved-by2";s:0:"";s:18:"approved-by2_title";s:0:"";
s:39:"approved-by2_physicalDeliveryOfficeName";s:0:"";s:20:"approved-by2_company";s:0:"";
s:17:"approved-by2_mail";s:0:"";}}