我正在尝试在AppEngine上复制Quercus上的java guestbook example,并且我在准备查询时遇到错误:
$greetings = $datastore->prepare($query)->asIterable();
我不是java开发人员所以我无法理解错误跟踪。如何在不触发此错误的情况下获取问候项?
以下是整个错误页面:
HTTP ERROR 500
访问/index.php时出现问题。原因是:
INTERNAL_SERVER_ERROR
引起:
java.lang.NullPointerException at com.google.appengine.api.datastore.dev.LocalDatastoreService.next(LocalDatastoreService.java:1089) 在sun.reflect.GeneratedMethodAccessor8.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at java.lang.reflect.Method.invoke(未知来源)at com.google.appengine.tools.development.ApiProxyLocalImpl $ AsyncApiCall.callInternal(ApiProxyLocalImpl.java:498) 在 com.google.appengine.tools.development.ApiProxyLocalImpl $ AsyncApiCall.call(ApiProxyLocalImpl.java:452) 在 com.google.appengine.tools.development.ApiProxyLocalImpl $ AsyncApiCall.call(ApiProxyLocalImpl.java:430) at java.util.concurrent.Executors $ PrivilegedCallable $ 1.run(未知 来自java.security.AccessController.doPrivileged(Native Method) 在java.util.concurrent.Executors $ PrivilegedCallable.call(未知 来自java.util.concurrent.FutureTask $ Sync.innerRun(未知 来自)java.util.concurrent.FutureTask.run(未知来源)at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(未知来源) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) 在java.lang.Thread.run(未知来源)
答案 0 :(得分:0)
如果它是空指针异常,那么您正在尝试访问空对象的方法或属性
首先,您需要检查$ datastore是否为null,然后检查返回的查询是否为null。此外,您需要检查该错误是否在该特定代码行上(可能在其他地方失败)
您可以通过此链接/ _ah / admin访问数据库。也许那里有一个腐败的实体