【发布时间】:2012-06-17 14:09:55
【问题描述】:
我正在尝试查看我的 sqlite 数据库中是否存在现有行,如果没有则添加它。但是我的查询有问题。我希望有人能发现我的错误。
具体来说,我认为错误在查询行中:
$query = 'SELECT * FROM plant WHERE common_Name = '. $commonName . ' AND latin_Name = '. $latinName . 'AND url = '. $URL ;
谢谢你, 托德
// set path of database file
$file = "db/plants.db";
// create database object
$db = new SQLiteDatabase($file) or die("Could not open database");
// see if the EXACT same tag exists
$query = 'SELECT * FROM plant WHERE common_Name = '. $commonName . ' AND latin_Name = '. $latinName . 'AND url = '. $URL ;
$result = $db->query($query) or die("Error in query");
$rows = sqlite_num_rows($result);
if($rows>0) return; //do not add it
// generate query string
$query = 'INSERT INTO plant (common_Name, latin_Name, url) VALUES("'.$commonName.'","'. $latinName.'","'.$URL.'")';
// execute query
// return result object
$result = $db->query($query) or die("Error in query");
// destroy database object
unset($db);
【问题讨论】:
-
这应该回答你的问题:stackoverflow.com/questions/531035/…
-
你尝试过面向对象的风格吗?即 $rows = $result->numRows();不确定它是否会有所作为......
-
@Inner-Design:我是 sqllite 新手,正在慢慢学习 OOP sqlite api。