当列存在时,PHP + SQLite没有此类列

时间:2019-06-27 14:27:37

标签: php sqlite

我目前正在尝试使用PHP创建脚本来更新几个SQLite表。我有以下功能,给定一个特定的城市,搜索国家/地区并在目标表中对其进行更新。

function fillCountry($city, $db) {                                                                                                                         

    $statement = $db->prepare('SELECT country, iso3 FROM cities WHERE city= :city;');                                                                  
    $statement->bindValue(':city', $city);                                                                                                             

    $result = $statement->execute();                                                                                                                   
    $resx = $result->fetchArray(SQLITE3_ASSOC);                                                                                                        

    if(!empty($resx['country'])){                                                                                                                      
            $db->exec('UPDATE wikivoyage_listings SET country = "' . $resx['country'] . '" WHERE article = "' . $city . '";');                         
            $db->exec('UPDATE wikivoyage_listings SET iso3 =  "' . $resx['iso3'] . '" WHERE article = "' . $city . '";');                              
    } else {                                                                                                                                           
            echo "Not Good";                                                                                                                           
    }                                                               

}

运行此代码时,我收到以下警告:

PHP Warning:  SQLite3::exec(): no such column: country in /vagrant/connect.php on line 23                                            
PHP Warning:  SQLite3::exec(): no such column: iso3 in /vagrant/connect.php on line 24

wikivoyage_listings表具有以下架构:

CREATE TABLE wikivoyage_listings (id INTEGER PRIMARY KEY, title VARCHAR(128), language VARCHAR(2), article VARCHAR(128), type VARCHAR(64), wikidata VARCHAR (64), wikipedia VARCHAR(64), description VARCHAR(4096), latitude DECIMAL(10, 8), longitude DECIMAL(11, 8), country VARCHAR, iso3 VARCHAR);

表中存在这些列,但是以某种方式将它们考虑在内?

关于为什么会发生这种情况的任何想法?我可以添加任何其他信息吗?

0 个答案:

没有答案