我一直在研究这个问题,我一直认为我有答案,但它永远不会奏效。基本上,我有四个.sqlite3文件,我需要执行跨交易。所以...我研究了附加它们,并认为我有它......
无论如何,我正在尝试在内存中创建一个数据库,将其他四个附加到它,然后执行所有四个操作。我不需要内存数据库,但听起来它让事情变得更容易。
我之前只使用过JavaScript的SQLite,并且几乎没有使用PHP的经验。
在此示例中,$ pathToMesh是包含两个.sqlite3文件的文件夹的绝对路径,$ pathToUser指向具有相同两个名称的不同文件的另一个文件夹。我总是得到“File Exists”的响应,然后当我尝试在这些数据库上执行基本的SQLite时(格式为database.table_name
),它就会死掉。我一直在尝试查找错误消息,但因为我在PhoneGap应用程序中从Ajax调用此PHP,我无法看到发生了什么。
if (file_exists($pathToMesh . $dbame) && file_exists($pathToMesh . $sbame)) {
echo "File Exists";
$db = new PDO('sqlite::memory:');
$db->query("ATTACH DATABASE '" . $pathToMesh . $dbname . "' AS meshStats");
$db->query("ATTACH DATABASE '" . $pathToMesh . $sbname . "' AS meshSB");
$db->query("ATTACH DATABASE '" . $pathToUser . $dbname . "' AS upStats");
$db->query("ATTACH DATABASE '" . $pathToUser . $sbname . "' AS upSB");
//Code continued
else {
echo "Files don't exist.";
}
提前致谢。