我正在尝试创建简单的登录功能,我使用PHP和SQLite使其工作但每次我点击登录我得到
“Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in G:\wwwroot\login.php:3 Stack trace: #0 G:\wwwroot\login.php(3): PDO->__construct('sqlite:G:/wwwro...') #1 {main} thrown in G:\wwwroot\login.php on line 3
“我做错了什么
我有登录代码并将其保存为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');
发布于 2019-06-13 14:55:07
就像错误说的那样,您的服务器似乎没有安装/加载驱动程序。
检查您的phpinfo,看看您是否已注册该驱动程序。确保在php.ini中取消注释sqlite扩展。在Windows上,php.ini文件可能位于C:\ Windows \ System32 \ PHP \ php.ini中。Phpinfo()应该告诉你配置的位置。看这篇文章。
另外,MySQL的类似帖子
https://stackoverflow.com/questions/-100009097
复制相似问题