簡體   English   中英

SQLite3 無法獲取列

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM