[英]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.