I have been wanting to do this for awhile so I decided to try it. I was able to get it to work after a bit of research, so my guess is there is probably just a set up problem. My guess would be with ODBC.
The first thing I would check is that the ODBC DSN is set up under System DSN, not User DSN. It won't work under User since PHP is running under some user that isn't you.
Another thing to check is that the subsystem on the AS/400 that allows ODBC connections is running. A way to check if it is on is to go to OPSNAV, log into the 400, go to the database menu, and right click and do "Run SQL Scripts...". Try a SQL select here on your AS/400. If this works then the AS/400 setup is probably ok and the ODBC setup needs to be examined.
Also make sure you are using the correct ODBC PHP calls. I've been using mysql up until a few minutes ago when I decided to try this out and I was automatically using the mysql APIs.
Let me know if you get it to work, or what errors you get if it won't work and I can probably help a little more.