[英]SQLite3 cant fetch columns
我编写了尽可能简单的代码来进行简单的登录,因为这是我第一次使用 SQLite3 数据库。
这是我的代码:
<?php
$db = new SQLite3("FirstDatabase.db");
if (isset($_POST['login'])) {
$username = $_POST['user'];
$password = $_POST['pass'];
$query = $db->prepare("SELECT COUNT(`id`) FROM data WHERE `username` = '$username' AND `password` = '$password'");
$query->execute();
$count = $query->fetchColumn();
if($count = 1){
echo "Welcome $username!";
} else {
echo "Wrong credentials";
}
}
?>
我真的很困惑为什么这不起作用..我更新了所有扩展等。我知道这很容易受到几乎所有类型的攻击,但我只是想弄清楚 SQLite3 数据库连接。
谢谢! :)
这是我得到的错误:
致命错误:未捕获错误:调用 C:\\XAMPP\\htdocs\\PHP-Login\\index.php:41 中未定义的方法 SQLite3Stmt::fetchColumn() 堆栈跟踪:#0 {main} throw in C:\\XAMPP\\htdocs\\第 41 行的 PHP-Login\\index.php
SQL 容易受到 SQL 注入的攻击,这可能对您的数据库、系统和健康造成破坏。 首先,您应该将选择更改为参数化查询。
文档中有非常好的示例用于使用参数化查询和绑定值,更不用说本站点上的大量资源了。
该错误告诉您没有SQLite3Stmt
对象的fetchColumn()
方法。 PHP: SQLite3Stmt 文档证实了这一点。 它是 PDO 数据库扩展上的一种方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.