我正在尝试创建简单的登录功能,我使用PHP和SQLite使其工作,但每次我点击登录时,我得到"致命错误:未捕获的异常' PDOException'有消息'无法找到驱动程序'在G:\ wwwroot \ login.php:3堆栈跟踪:#0 G:\ wwwroot \ login.php(3):PDO-> __ construct(' sqlite:G:/ wwwro ...&#39 ;)#3 {main}在第3行和第34行的G:\ wwwroot \ login.php中抛出; 我做错了什么建议会很棒:)。
我有登录代码并将其保存为index.php
<html>
<body>
<form action="login.php" method="POST">
<p>Username</p><input type ="text" name="user"/>
<p>password</p><input type="password" name="pass"/>
<br />
<input type="submit" value="login"/>
</form>
</body>
</html>
我有另一个叫做login.php的php,当用户点击登录按钮
时会激活它<?php
$dir = 'sqlite:G:/wwwroot/SQLite/user_information.db';
$dbh = new PDO($dir) or die ("cannot open");
$myusername = $_POST['user'];
$mypassword = $_POST['pass'];
$myusername = stripslashes($myusername);
$mypassword = stripslashes ($mypassword);
$query = "SELECT * FROM user_information WHERE username='$myusername' AND password='$mypassword'";
$result = mysql_query($query);
$count = mysql_num_rows($result);
if($count==1){
echo'worked';
}
?>
最后我有user_information.db,在那里我下载了sqlite3并使用cmd程序创建数据库。
G:\wwwroot\SQLite>sqlite3 user_information.db
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
sqlite> create table user_info(username varchar(20), password varchar(20));
sqlite> insert into user_info values('WESTKINz','password');
sqlite> insert into user_info values('LAME','123456');
答案 0 :(得分:0)
如错误所示,您的服务器似乎没有安装/加载驱动程序。
检查您的phpinfo,看看您是否已注册该驱动程序。确保在php.ini中取消注释sqlite扩展。在Windows上,php.ini文件可能位于C:\Windows\System32\PHP\php.ini。 Phpinfo()应该告诉你配置的位置。请参阅this帖子。
此外,还有MySQL
的类似帖子