Setting up phpwiki and getting ORA-00911: invalid character
160769Aug 23 2006 — edited Nov 15 2006Hi, I am setting up an internal wiki, and have decided on phpwiki.
(http://sourceforge.net/projects/phpwiki).
My goal is to have this in an Oracle database.
I am using the following:
RHEL4 with SELinux turned off
phpwiki-1.3.12p3
ZendCoreForOracle-v1.4.1-Linux-x86.tar.gz1
(provides php 5 pre-compiled)
Oracle 10g R2 (10.2.0.2)
In the config.ini file, I am finding DATABASE_TYPE = ADODB works better (fewer errors) than with DATABASE_TYPE = SQL.
Also, as per the documentatin, I have prepended
phpwiki_ to every table as they say is necessary for Oracle.
For Oracle, I initially had problems, but I was able to get connectivity working by installing ZendCore for Oracle (basically a pre-compiled version of php 5). I also had to unlock the phpwiki user for it to work
(as sysadmin, "alter user phpwiki account unlock").
Oracle my connect string is DATABASE_DSN=
"oci8://phpwiki:phpwiki@192.168.0.100:1521/pwiki>"
I am able to connect, but the virgin wiki still does not load. It appears to connect (was able to get through past connect errors, but then shows the following ADODB error):
lib/WikiDB/adodb/adodb-errorhandler.inc.php:76: Error[256]: oci8 error: [911: ORA-00911: invalid character] in EXECUTE ("UPDATE phpwiki_page SET hits=?, pagedata=? WHERE pagename=?")
I think that Oracle does not like the question marks --it
probably wants quotes around the question marks - can anyone confirm this? Phpwik was/is written in PHP, and apparently the authors say that the ADODB layer works better than the PEAR layer.
I have also posted on the phpwiki forum, but thought people using php and Oracle here may be able to point me in the right direction.
Thanks, Marvin.
Note-I know that this is not a connection problem since I was able to work through earlier connect errors, and I also have a regular file called dbtest1.php which uses the following connect string, and I can query and get responses in the URL:
$conn = OCILogin("phpwiki","phpwiki",//192.168.0.100:1521/pwiki:);
and later in the code
$query = 'select table_name from user_tables';
Message was edited by:
mhecht