PHP Error [SOLVED]

A place for users and developers of the Xataface to discuss and receive support.

PHP Error [SOLVED]

Postby cantlep » Wed Mar 17, 2010 12:23 pm

Hi,

I'm trying to add a new record into one of my tables. (In this instance, called "ContractData".) If I use drop down menus to populate 2 of the fields (CompanyName and SiteName - which are taken from other tables) then everything is fine when I insert the record. However, if I have (instead of a drop down menu) a multiple select type menu (tick box, advmultiselect, etc) then it throws an error (even if I still only select one option)

Code: Select all
PHP Fatal error:  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1SELECT COUNT(*) as num FROM `ContractData` WHERE `ContractRecordID` = '8' AND `ContractType` LIKE CONCAT('%','5','%') AND `ContractLength` LIKE CONCAT('%','12','%') AND `ContractStartDate` LIKE CONCAT('%','2010-03-17','%') AND `ContractEndDate` LIKE CONCAT('%','2011-03-17','%') AND `ContractActive` LIKE CONCAT('%','NO','%') AND `ContractStatus` LIKE CONCAT('%','New','%') AND `ContractSupplier1` LIKE CONCAT('%','1','%') AND `ContractStandingCharge` LIKE CONCAT('%','1','%') AND `ContractDayRate` LIKE CONCAT('%','1','%') AND `ContractNightRate` LIKE CONCAT('%','1','%') AND `ContractCommissionType` LIKE CONCAT('%','1','%') AND `ContractCommissionRate` LIKE CONCAT('%','1','%') AND `CompanyName` LIKE CONCAT('%','PaulGray','%') ANDOn line 127 of file /var/www/html/public/dataface/Dataface/QueryTool.php in function printStackTrace()\n<br>On line 524 of file /var/www/html/pub in /var/www/html/public/dataface/Dataface/QueryTool.php on line 127


I really want to be able to select multiple options for SiteName so that each multiple SiteNames can have the same ContractID (I guess I may need some relationship stuff here)..but at the moment, I can't even use a multi select type box to populate even when only selecting one option.

Can anyone help at all?

Thanks

Paul
Last edited by cantlep on Thu Mar 25, 2010 4:48 am, edited 1 time in total.
cantlep
 
Posts: 172
Joined: Fri Mar 05, 2010 2:14 am

Re: PHP Error

Postby shannah » Wed Mar 17, 2010 12:31 pm

What version of Xataface/PHP/MySQL are you using?
and
can you post the relevant fields.ini file and table def?
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: PHP Error

Postby cantlep » Wed Mar 17, 2010 12:58 pm

Hi Steve, Sorry, should've really added these in the first place.

Xataface Version = 1.2.3b2 1700
PHP = 5.3.1
MYSQL = 5.1.4.2

The only stuff in tables/ContractData/ContractData.php is stuff relating to dates. Nothing that would affect this afaik.

tables/ContractData/fields.ini snippet

Code: Select all
[CompanyName]
widget:label = "Company Name"
;visibility:list = hidden
widget:type = select
vocabulary = CompanyName
order=15

[SiteName]
widget:label = "Site Name"
widget:type = select
vocabulary = SiteName


valuelists.ini snippet

Code: Select all
[CompanyName]
__sql__= "SELECT CompanyName FROM Customers ORDER BY CompanyName"

[SiteName]
__sql__= "SELECT SiteName FROM SiteData ORDER BY SiteName"


I should say...when it's like this, it works fine but if I change the SiteName section of fields.ini from widget:type = select to widget:type = checkbox or advmultiselect then it throws the error. I've only just noticed this as I really want to be able to select multiple SiteNames to do the insertion. Might it be failing due to there not being a relationship at all?

Cheers

Paul
cantlep
 
Posts: 172
Joined: Fri Mar 05, 2010 2:14 am

Re: PHP Error

Postby cantlep » Wed Mar 17, 2010 3:40 pm

Hi Steve, OK, I have the checkboxes now being display via a relationship but I still can't successfully select one or many of them. Here's the error now: This error is from a tail of my apache error_log. The web browser shows a similar log.

Apache error_log
Code: Select all
[Wed Mar 17 22:45:32 2010] [error]  PHP Warning:  explode() expects parameter 2 to be string, array given in /var/www/html/public/dataface/Dataface/QueryBuilder.php on line 502, referer: http://www.example.com/index.php?-action=new&-table=ContractData
[Wed Mar 17 22:45:32 2010] [error] PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/public/dataface/Dataface/QueryBuilder.php on line 517, referer: http://www.example.com/index.php?-action=new&-table=ContractData
[Wed Mar 17 22:45:32 2010] [error] PHP Fatal error:  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1SELECT COUNT(*) as num FROM `ContractData` WHERE `ContractRecordID` = '9' AND `ContractType` LIKE CONCAT('%','5','%') AND `ContractLength` LIKE CONCAT('%','1','%') AND `ContractStartDate` LIKE CONCAT('%','2010-03-17','%') AND `ContractEndDate` LIKE CONCAT('%','2010-04-17','%') AND `ContractActive` LIKE CONCAT('%','NO','%') AND `ContractStatus` LIKE CONCAT('%','New','%') AND `ContractSupplier1` LIKE CONCAT('%','1','%') AND `ContractStandingCharge` LIKE CONCAT('%','1','%') AND `ContractCapacity` LIKE CONCAT('%','1','%') AND `ContractDayRate` LIKE CONCAT('%','1','%') AND `ContractNightRate` LIKE CONCAT('%','1','%') AND `ContractCommissionType` LIKE CONCAT('%','1','%') AND `ContractCommissionRate` LIKE CONCAT('%','1','%') AND `CompanyName` LIKE CONCAT('%','PaulGray','%') ANDOn line 127 of file /var/www/html/public/dataface/Dataface/QueryTool.php in function printStackTr in /var/www/html/public/dataface/Dataface/QueryTool.php on line 127, referer: http://www.example.com/index.php?-action=new&-table=ContractData


Error in Browser
Code: Select all
SELECT COUNT(*) as num FROM `ContractData` WHERE `ContractRecordID` = '9' AND `ContractType` LIKE CONCAT('%','5','%') AND `ContractLength` LIKE CONCAT('%','1','%') AND `ContractStartDate` LIKE CONCAT('%','2010-03-17','%') AND `ContractEndDate` LIKE CONCAT('%','2010-04-17','%') AND `ContractActive` LIKE CONCAT('%','NO','%') AND `ContractStatus` LIKE CONCAT('%','New','%') AND `ContractSupplier1` LIKE CONCAT('%','1','%') AND `ContractStandingCharge` LIKE CONCAT('%','1','%') AND `ContractCapacity` LIKE CONCAT('%','1','%') AND `ContractDayRate` LIKE CONCAT('%','1','%') AND `ContractNightRate` LIKE CONCAT('%','1','%') AND `ContractCommissionType` LIKE CONCAT('%','1','%') AND `ContractCommissionRate` LIKE CONCAT('%','1','%') AND `CompanyName` LIKE CONCAT('%','PaulGray','%') AND


Hope you can help.

Cheers

Paul
cantlep
 
Posts: 172
Joined: Fri Mar 05, 2010 2:14 am

Re: PHP Error

Postby cantlep » Wed Mar 17, 2010 4:11 pm

ahhh, sorted :-) I was being a total tool....sorry, I'm still learning :oops:

My relationship was using a fieldname that already existed in the table. I've removed it now and it'll all great.

There is one thing though....(of course there is)...My checkboxes have now appeared in the top of the form when I click "New Entry"..is there anyway to get them to the bottom? Better still, Can I dynamically generate them based on what's selected from anther drop down? (I don't want much do I?)

Thanks

Paul
cantlep
 
Posts: 172
Joined: Fri Mar 05, 2010 2:14 am


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 29 guests

cron
Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved