Garbled Table Name
Archived from the Xataface Users forum.
stevenhperry — Sat Sep 24, 2011 6:45 pm
I created a new database to test out xataface to see how I like it.
db = “xata”
table = “temptable”
I can access the default page by going to the manually created application page and I see a list (initially with no records, then I created one record through phpMyAdmin, and it does show fine!). However I cannot advance beyond this point. I get a number of errors depending on where I try to go. The most telling seems to be this:
uri = my.path.to/xatafront/index.php?-table=temptable&-action=view&-cursor=0&-skip=0&-limit=30&-mode=list
- Code: Select all
Fatal error: Error performing mysql query to get column information from table 'temptable&-action=view&-cursor=0&-skip=0&-limit=30&-mode=list'. The mysql error returned was : 'Table 'xatadb.temptable&-action=view&-cursor=0&-skip=0&-limit=30&-mode=list' doesn't exist'. On line 477 of file /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xataface/Dataface/Table.php in function printStackTrace() On line 2375 of file /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xataface/Dataface/Table.php in function Dataface_Table(temptable&-action=view&-cursor=0&-skip=0&-limit=30&-mode=list,Resource id #10,) On line 977 of file /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xataface/Dataface/Application.php in function loadTable(temptable&-action=view&-cursor=0&-skip=0&-limit=30&-mode=list) On line 1728 of file /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xataface/Dataface/Application.php in function handleRequest() On line 3 of file /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xatafront/index.php in funct in /hermes/bosweb26d/b2447/ipw.ussleyte/public_html/xataface/Dataface/Table.php on line 477
I’m only a php newbie and self taught SQL weekend warrior, but it seems that we are trying to open not “temptable” but “temptable&-action=view&…”. It’s like the application forgot to explode the data passed by the URI.
Where am I going wrong and how do I resolve this?
TIA
Steve
shannah — Sat Sep 24, 2011 7:08 pm
Sounds like you may have a configuration problem on your web server. Like it’s applying a rewrite rule but incorrectly treating the entire query string after the first one as just an extension of the first value.
What web server / version are you running?
Any rewrite rules etc..?
stevenhperry — Sat Sep 24, 2011 7:20 pm
Hope this is the information you’re looking for…
hosted through ipower.com
Platform Debian
MySQL 5.0.45
PH 5.2.2
The default php.ini provided by the host does have this rewrite:
- Code: Select all
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
ADobkin — Sun Sep 25, 2011 7:50 pm
Perhaps this was just a typo, but you said your database name is “xata”, however the error message indicates “xatadb”:
The mysql error returned was : ‘Table ‘xatadb.temptable …’ doesn’t exist’
You might want to double-check your conf.ini file.
Alan
stevenhperry — Thu Sep 29, 2011 6:43 pm
that was just at typo with the xata vs xatadb, but I believe I’ve found the problem.
My arg_separator is not the ampersand. It’s the semicolon.
php.ini
arg_separator.output = “;”
arg_separator.input = “;”
=============
Is there a switch for this in xataface, or would I need to reprogram all my other php to use ampersands in order to even try out xataface?
ADobkin — Fri Sep 30, 2011 5:04 am
You could try using the ini_set command in your Xataface index.php file:
- Code: Select all
// The separator used in PHP generated URLs to separate arguments. ini_set('arg_separator.output','&'); // List of separator(s) used by PHP to parse input URLs into variables. // NOTE: Every character in this directive is considered as separator! ini_set('arg_separator.input',';&');
shannah — Fri Sep 30, 2011 7:15 pm
I have never seen the separator set to anything other than ampersand. I’m not sure what situation would arise that I would want to play with this option.