ID:               24718
 Updated by:       [EMAIL PROTECTED]
 Reported By:      psychosos at gmx dot at
-Status:           Assigned
+Status:           Feedback
 Bug Type:         ODBC related
 Operating System: Windows 2000 Professional
 PHP Version:      4.3.2
 Assigned To:      kalowsky
 New Comment:

You are correct that a LONGCHAR is not supported, 
although I haven't a clue what that would actually be.  
A CHAR, VARCHAR, VARBINARY, LONGVARBINARY would all be 
valid substitutions though.

Can you try changing that and see if this solves your 
problem?


Previous Comments:
------------------------------------------------------------------------

[2003-07-28 07:14:47] psychosos at gmx dot at

Hello,

Here is a more exact schema of the table called Kommentare, created
with odbc_columns:

TABLE.COLUMN/DATA_TYPE/TYPE_NAME/COLUMN_SIZE
Kommentare.ID/4/INTEGER/10
Kommentare.Kommentar/-1/LONGCHAR/1073741823
Kommentare.Kommentator/12/VARCHAR/50
Kommentare.Datum/11/DATETIME/19
Kommentare.IP/12/VARCHAR/15

So actually column Kommentator it is a VARCHAR, not a Text as I said
before. (That's just how the German version of MS Access likes to call
it.) I have to admit I am not sure whether LONGCHAR is supported
though. Could this be the problem?

You can get the zipped SQLLog for the query "SELECT Kommentar FROM
Kommentare" at http://forum.geizhals.at/files/641/SQL.ZIP (around 4KB).
I hope it helps.

------------------------------------------------------------------------

[2003-07-27 23:38:26] [EMAIL PROTECTED]

Well the start is that type TEXT isn't really supported by ODBC v2
(which is what PHP uses).  If you can change to a type VARCHAR that
would work much better (I can't remember if Access cares about this or
not).  

But for further debugging information, if you can turn on SQLLogging
(under your ODBC Administrator) create the connection, run one of the
queries that crashes everything, and post the results here that would
help.  You might need/want to ensure the removal of the site specific
information (i.e. login and password) before you post it here though.

------------------------------------------------------------------------

[2003-07-24 16:17:10] psychosos at gmx dot at

Sorry about the delay.

The database I am experiencing the problem with is an Microsoft Access
Database I created with MS Access XP.

The problematic table has the following schema:
Table Kommentare
  ID long integer DEFAULT 0 NOT NULL
  Kommentar Memo NOT NULL
  Kommentator Text (50) 
  Datum Date/Time (standard date)
  IP Text(15)
(sorry about non-SQL conformity; I tried to transcribe the MS Access
information)


"SELECT * FROM Kommentare" crashes PHP.
"SELECT ID, Kommentator, Datum, IP FROM Kommentare" works fine.
"SELECT Kommentar FROM Kommentare" crashes PHP.
"SELECT TOP 200 Kommentar FROM Kommentare" works fine as well.
But "SELECT Kommentar FROM Kommentare" crashes PHP.

If needed/helpful I might try to determine the exact number of records
(bytes) which crashes PHP.
Unfortunately I am not experienced debugging applications.

If I can be of any further help I'd be glad to follow your instructions
:-)

Cheers,
johannes

------------------------------------------------------------------------

[2003-07-19 17:30:10] [EMAIL PROTECTED]

A sample schema would help tremendiously.  Also what database?

------------------------------------------------------------------------

[2003-07-19 13:35:58] psychosos at gmx dot at

Description:
------------
If I use odbc_result_all() with a result which has around 75 rows or
more it crashes with an Application Error (The instruction at
"0x1000ede5" referenced memory at "0x000000ae". The memory could not be
"read".

Unfortunately this only happens to me with one table and only if I
retrieve longer fields (for example it only crashes when trying to
retrieve a longer character field, not with my ID or a short string
field)

(I am sorry about this unexact bug report. If you can give me any hints
how to be more helpful - please do so!)

Reproduce code:
---------------
<?php
$connection = odbc_connect("Albumsliste","","");
$result = odbc_exec($connection, "SELECT * FROM Kommentare;");

$count = odbc_result_all($result);
        echo "\nResult count: $count\n";
odbc_free_result($result);
odbc_close($connection);
?>

Expected result:
----------------
The code should output all the fields from the table named
"Kommentare".

Actual result:
--------------
PHP crashes with an Application Error (The instruction at "0x1000ede5"
referenced memory at "0x000000ae". The memory could not be "read".)


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=24718&edit=1

Reply via email to