Safari中的WebSQL中的SELECT查询返回错误

Igo*_* Q. 1 javascript sqlite safari web-sql cordova

这是有问题的代码.我一直在努力工作.

问题是,回调中的变量结果中没有任何行.但这仅存在于Safari中.Chrome运作完美.
Safari和Chrome上的数据库在数据库中显示正确的值.

结果变量中有一个有趣的属性:

SQLResultSet
insertId: Error: InvalidAccessError: DOM Exception 15
Run Code Online (Sandbox Code Playgroud)

但是行数组不存在.

db.transaction(function (tx) {
        tx.executeSql("INSERT INTO QUIZZES (id,name,completed,icon) VALUES (coalesce((SELECT max(id) FROM QUIZZES),0)+1,?,0,?)", [json.name,json.icon],
            function (tx, result) {
                console.log('Inserted Quiz. Selecting Quiz');

                tx.executeSql("SELECT * FROM QUIZZES ", [],
                    function (tx, result) {
                        console.log(result);
                        var quizid = result.rows[0].id;
                        console.log(quizid);
                    },
                    errorCB);
            });

    },
errorCB);
Run Code Online (Sandbox Code Playgroud)

我试过的是将我的代码从一个事务重新处理到通过db.transaction(...在回调中的多个单独的DB调用.
我还尝试重写查询本身,或编写将返回正确的查询结果100%的时间.然而,无处可去.

提前谢谢你的帮助

Igo*_* Q. 6

问题是Chrome在构建代码方面要宽松得多.

应该从查询中选择结果:via

results.rows.item(0).id;
Run Code Online (Sandbox Code Playgroud)

而不是

result.rows[0].id;
Run Code Online (Sandbox Code Playgroud)

注意这个项目.

这解决了我的问题.