1

I'm trying to replicate the java guestbook example on Quercus on AppEngine and I'm getting an error having to do with preparing the query:

$greetings = $datastore->prepare($query)->asIterable();

I'm not a java developer so I can't make sense of the error trace. How can I get the greeting items without triggering this error?

Here is the entire error page:

HTTP ERROR 500

Problem accessing /index.php. Reason:

INTERNAL_SERVER_ERROR

Caused by:

java.lang.NullPointerException at com.google.appengine.api.datastore.dev.LocalDatastoreService.next(LocalDatastoreService.java:1089) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:498) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:452) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:430) at java.util.concurrent.Executors$PrivilegedCallable$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.util.concurrent.Executors$PrivilegedCallable.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

4

1 回答 1

0

如果它是空指针异常,那么您正在尝试访问空对象的方法或属性
首先您需要检查 $datastore 是否为空,然后查询的返回是否不为空。您还需要检查该错误是否在该特定代码行上(可能在其他地方失败)
您可以通过此链接/_ah/admin 访问数据库。也许那里有一个腐败的实体

于 2011-12-25T22:12:40.260 回答