我有点需要帮助,这...SQLite的PHP连接故障
我一直在这个项目上工作了几个小时才打到我无法克服的墙。
我做了一个小数据库,我使用firefox的sql管理器创建,并且数据库确实包含数据并具有.sqlite扩展名。但无论我试图看待其他人的问题和答案,我都无法使其工作。每次我认为我已经得到它会引发新的错误。
有人认为他们可以帮助我找出问题吗?我一直在这么做很久,在这一点上我非常沮丧,我不知道该做什么。我通过XAMPP运行我的网站,并从PHP收到此错误:
Fatal error: Call to undefined function sqlite_open() in C:\xampp\htdocs\Projects\FinalProject\You_Shall_Pass.php on line 4
我试图修改XAMPP的php.ini的支持sqlite的,但它仍然没有连接,我已经改变了连接方法现在几次没有任何结果,只是错误发生了轻微的变化。
如果任何人都可以帮忙,我甚至不能告诉你我多么感激。我对这个项目感到无比兴奋,我的书似乎并没有解释如何连接到一个sqlite文件。
代码:
<?php
// Open database
$dbHandle = sqlite_open('YSP_db.sqlite', 0666, $error);
if(!$dbhandle) die ($error);
//Method selects function for login or new account procedure
if(isset($_POST['profileName']))
{
getUserData();
}
elseif(isset($_POST['newProfileName']))
{
createNewUser();
}
else {echo "why god why?";}
function getUserData()
{
$login = $_POST['profileName'];
$rows = $dsn->query("SELECT idUser FROM user WHERE name = '$login'");
}
?>
UPDATE:交换我的数据库文件的扩展名从源码开放它通过sqlite3的以分贝正如以下建议摆脱错误的,但现在我有两个新: 未定义的变量:DB上线29和
Fatal error: Call to a member function query() on a non-object line 29
我也试图通过类来替代打开数据库,所以现在看起来是这样的:
?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('YSP_db.db');
}
}
// Open database
$db = new MyDB();
if(!$db) die ($error);
//Method selects function for login or new account procedure
if(isset($_POST['profileName']))
{
getUserData();
}
elseif(isset($_POST['newProfileName']))
{
createNewUser();
}
else {echo "why god why?";}
function getUserData()
{
$login = $_POST['profileName'];
$rows = $db->query("SELECT idUser FROM user WHERE name = '$login'");
}
?>
我会继续选择它,但如果有人知道这个问题的根源,请让我知道,并非常感谢你的帮助。
如果它的任何安慰无论如何,我有完全相同的问题,一年或两年回来,检查启用sqlite的扩展等在.ini,毫无效果。但我会环顾四周。查看http://stackoverflow.com/questions/4788853/call-to-undefined-function-sqlite-open for starteers。 – Hektor 2014-12-07 20:43:46
@ user2356315谢谢。我会继续寻找更多的信息,但在这一点上我真的很难过。 – Alzecha 2014-12-07 20:46:06
您使用的是哪个版本的PHP? – 2014-12-07 20:52:16