|
Posted by Richard Morton on 12/21/05 16:25
Hi Erwin et al.
Thanks for that. However I am still one step back from there. Even if I
do the simplest of statements I can not get to the data.
'Select * from table'
I can't get to the data (I can however get the field names for some
reason so I am connected to the datasource). The _second_ time I try to
run the query I get the following:
Warning: odbc_execute(): SQL error: [Microsoft][ODBC Microsoft Access
Driver] Too few parameters. Expected 1., SQL state 07001 in SQLExecute
in c:\apache group\apache\htdocs\wmmc\db_access_class.inc on line 59
To summarise:
The first time I run a query (even a simple one) it it is silent and I
can get field names but not any data.
The second time I run the query I get the above error.
Any ideas.
Rich
Erwin Moller wrote:
> Richard Morton wrote:
>
>
>>Hi,
>>
>>This is my first posting to this list, I guess a small intro should be
>>first, been developing in PHP for sometime, mainly with Mysql and nearly
>>always on Windows (oops, sorry).
>>
>>I have done some bizarre things with PHP, but now I am involved in
>>re-writing an application (from ASP.NET).
>>
>>The database however I can't change so easily as there are other
>>dependancies, and it's JET 4.0
>>
>>This is the table.
>>TableRowID - AutoNumber
>>UCID - Text
>>TransactionTime - Date/Time
>>
>>etc...
>>
>>I have having trouble with getting any information out of it though...!
>>
>>I can complete the following:
>>
>>$db_resource = new accessDB();
>>$db_resource->host=$dbDSN;
>>$db_resource->username=$dbUsername;
>>$db_resource->open($dbPassword);
>>
>>// build option list based on the field names in the table. Query is run
>>to just get the fieldnames
>>$query='SELECT * FROM TransTable'
>>
>>$db_resource->query($query);
>>$db_resource->get_field_names();
>>
>>
>>
>>and although the fieldnames are returned through my function, if I try
>>to extract the data from the query none is there...
>>
>>
>>if I add a where statement I get an error which I can't resolve:
>>
>>SELECT * FROM TransTable WHERE ((TransactionTime>="2005-12-16 16:00:01")
>>AND (TransactionTime<="2005-12-21 16:00:00")) ORDER BY TableRowID
>>
>>Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access
>>Driver] Too few parameters. Expected 2., SQL state 07001 in
>>SQLExecDirect in c:\apache group\apache\htdocs\wmmc\db_access_class.inc
>>on line 58
>>
>>
>>
>>ideas?
>
>
> If memory serves me well, access wants the most bizarre format for dates.
> Try # instead of "
>
> That might fix it.
>
> Also, you might have a look at ADODB (www.phplens.com/adodb) and put that
> inbetween.
> Then use ADODB functions to do the formatting.
> Also use it for stringliterals and such. Some database want ' to be
> presented as \' others as '' etc.
> ADODB will take care of that.
>
> Nice extra feature is that next time you switch databsses, adodb will
> figure it all out for you, you only need to change the database used in
> adodb.
>
> Regards,
> Erwin Moller
>
>
>>Thanks in advance
>>
>>Richard
>
>
Navigation:
[Reply to this message]
|