Kapitola 47. Záležitosti databází

Tato sekce se zabývá častými otázkami okolo vztahu PHP a databází . Ano , PHP dnes může virtuálně přistupovat ke kterékoli dostupné databázi .

1. Slyšel jsem, že lze z PHP přistupovat k Microsoft SQL Serveru. Jak?
2. Lze přistupovat k databázím Microsoft Access?
3. Upgradoval jsem na PHP 4 a MySQL mi teď hlásí "Warning: MySQL: Unable to save result set in ...". Co se děje?
4. Po instalaci podpory sdíleného MySQL havaruje Apache v momentě, kdy načítá libphp4.so. Lze to vyřešit?
5. Proč dostávám chybu, která vypadá nějak takto: "Warning: 0 is not a MySQL result index in file on line x " nebo "Warning: Supplied argument is not a valid MySQL result resource in file on line x ?

Ano . Pokud pracujete pod Windows 9x / Me nebo NT / 2000 , všechny potřebné nástroje již máte k dispozici - můžete použít ODBC a ovladače pro ODBC k databázím Microsoft Access .

Pokud používáte PHP na Unixu a chcete komunikovat s databázemi MS Access běžících na Windows , budete potřebovat ODBC ovladače pro Unix . OpenLink Software unixové ovladače pro ODBC , které zde vyhoví . Existuje pilotní program , kdy si můžete stáhnout zkušební kopii , která neomezenou zkušební dobu ; ceny komerční verze s podporou začínají na 675 USD .

Jinou alternativou je použít SQL server , který ODBC ovladače pro Windows a použít ho k uložení dat , ke kterým pak můžete přistupovat z aplikace Microsoft Access ( pomocí ODBC ) a z PHP (pomocí vestavěných ovladačů) , nebo použít souborový meziformát , kterému rozumí Access i PHP (např . obyčejné soubory nebo databáze dBase ) . K tomuto bodu Tim Hayes z OpenLink soiftware píše :

 
Použití

 
jiné

 
databáze

 
jako

 
meziformátu

 
není

 
dobrý

 
nápad

 
,

 
pokud

 
můžete

 
použít

 
ODBC

 
z

 
PHP

 
přímo

 
na

 
vaší

 
databázi

 
-

 
např

 
.

 
pomocí

 
ovladačů

 
od

 
OpenLink

 
software

 
.




 
Když

 
meziformát

 
použít

 
musíte

 
,

 
OpenLink

 
nyní

 
uvolnil

 
Virtuoso

 
(

 
virtuální

 
databázový

 
stroj

 
)

 
pro

 
WinNT

 
,

 
Linux

 
a

 
jiné

 
unixové

 
platformy

 
.




 
Navštivte

 
prosím

 
naši

 
  
website

 

 
a

 
zdarma

 
si

 
ho

 
stáhněte

 
.





Jednou z prověřených možností je použít MySQL a jeho ODBC ovladače pro Windows a synchronizace databází . Steve Lawrence píše :

  • Nainstalujte si na svou platformu MySQL podle přiložených instrukcí . Nejnovější verzi získáte na www.mysql.com ( stahujte z nejbližšího zrcadla ! ). Není třeba žádná zvláštní konfigurace kromě toho , že když instalujete databázi a konfigurujete uživatelský účet , měli byste do pole " host " přidat % nebo název počítače s Windows , na kterém chcete MySQL spouštět . Poznamenejte si název serveru , uživatelské jméno a heslo .

  • Stáhněte si ovladač MyODBC pro Windows ze stránek MySQL . Nejnovější verze je myodbc-2_50_19-win95.zip ( k dispozici také verze pro NT , stejně tak i zdrojový kód ) . Nainstalujte ho na počítač s Windows . Funkci můžete otestovat pomocí přiložených utilit .

  • Vytvořte uživatelský nebo systémový dsn v administrátoru ODBC , umístěném v ovládacích panelech . Zvolte název dsn , vložte název počítače , heslo , port apod . pro databázi MySQL nakonfigurovanou v kroku 1 .

  • Nainstalujte plnou instalaci Accessu , což zajistí , že budou k dispozici všechny doplňky ; budete potřebovat alespoň podporu ODBC a správu propojených tabulek .

  • A teď to nejzábavnější ! Vytvořte novou databázi v Accessu . Klikněte pravým tlačítkem v okně tabulek a vyberte " Propojit tabulky" , nebo pod nabídkou "Soubor " vyberte "Načíst externí data " a potom "Propojit tabulky " . se otevře dialog , vyberte soubory typu ODBC . Zvolte systémový dsn a název dsn vytvořeného v kroku 3 . Vyberte tabulku k propojení , stiskněte " OK " a je to " ! Nyní můžete otevřít tabulku a přidat / smazat / upravovat data na vašem MySQL serveru ! Můžete také vytvářet dotazy , importovat / exportovat tabulky do MySQL , vytvářet formuláře a sestavy atd .



Tipy a triky :

  • Můžete vytvořit tabulky v Accessu , exportovat je do MySQL a potom propojit zpět . To urychluje návrh tabulek .

  • Když vytváříte tabulky v Accessu , musíte mít definován primární klíč kvůli zápisu do tabulky . Ujistěte se , že jste primární klíč v MySQL vytvořili před propojením do Accessu .

  • Pokud změníte tabulku v MySQL , musíte ji znovu připojit do Accessu . Go to tools add-ins linked table manager , cruise to your ODBC DSN , and select the table to re-link from there . you can also move your dsn source around there , just hit the always prompt for new location checkbox before pressing ok .