php - fetchArray() 在 SQLite 中不起作用

标签 php sqlite

我在我的网络服务器上使用 SQLite,直到现在都没有问题。

        $sql = "SELECT * from TeammateCurrent;";
        $ret = $db->query($sql);

        if($ret != false) {

            while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
                $uniqueid = $row['uniqueID'];

                $name = $row['Name'];
                $lineID = $row['LineID'];
                $job = $row['Job'];
                $sunday = $row['Sunday'];
                $monday = $row['Monday'];
                $tuesday = $row['Tuesday'];
                $wednesday = $row['Wednesday'];
                $thursday = $row['Thursday'];
                $friday = $row['Friday'];
                $saturday = $row['Saturday'];
                //echo $name."<br>".$lineID."<br>".$job."<br>".$sunday."<br>".$monday."<br>".$tuesday."<br>".$wednesday."<br>".$thursday."<br>".$friday."<br>".$saturday."<br><br>";

                $sql = "INSERT INTO TeammateHistory (uniqueID, Name,LineID,Job,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)
                    VALUES (NULL, '$name','$lineID','$job','$sunday','$monday','$tuesday','$wednesday','$thursday','$friday','$saturday');";

                $ret = $db->exec($sql);
                if(!$ret){
                    echo $db->lastErrorMsg();
                } else {

                }

                $sql2 = "UPDATE TeammateCurrent set Sunday='$day0', Monday='$day1', Tuesday='$day2', Wednesday='$day3', Thursday='$day4', Friday='$day5', Saturday='$day6' where uniqueID='$uniqueid';";

                $ret = $db->exec($sql2);
                if(!$ret){
                    echo $db->lastErrorMsg();
                } else {

                }
            }

        } else {
            echo "Query not successful";
        }

当上面的代码执行时,我得到错误 Fatal error: Call to a member function fetchArray() on a non-object in /home/xxxx/public_html/xxxx.com/trg/rc2/db/startNewWeek.php on line 39
我在其他页面上运行过这样的代码,它们工作正常,我在这里完全不知所措。

我的 table :

enter image description here

最佳答案

您正在重用变量 $ret . SELECT 语句和 UPDATE 应该有不同的返回变量。在第二个循环中,您尝试执行 fetchArray() UPDATE 语句的返回。

关于php - fetchArray() 在 SQLite 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37923063/

相关文章:

android - 最近添加到数据库中的记录

ruby-on-rails - 如何将 Ruby 函数放入 SQLite3 查询中?

php - Sencha Touch 文件上传问题

javascript - 如何将数据库中的数组元素作为 Ajax 链接返回到我的 php 中

PHP date() 没有返回正确的时间?

ios - 如何在扩展和容器应用程序之间共享 SQLite 数据库

ios - 如何在 SQLITE 中使用 AM/PM 按日期/时间排序

php - 为什么 mysqli_insert_id() 总是返回 0?

php - CakePHP 3 中 MySQL 存储函数的 ORDER BY

sqlite - sqlite View 的性能损失