2015-12-11 42 views
-2

我得到了下面的错误,而我试图让使用SQLite3的致命错误的SQLite3 ::查询()在PHP

Fatal error: Non-static method SQLite3::query() cannot be called statically in C:\xampp\htdocs\s\sqlite\forgot.php on line 16 

我尝试使用sqlite3的制作登录系统在PHP中PHP忘记密码的页面。我在整个登录过程中都做了正确的操作,但是忘记密码会让我的头发变成灰色:/这是我忘记密码的PHP代码。这是Forget.php

<?php 

class MyDB extends SQLite3 
{ 
    function __construct() 
    { 
    $this->open('test.db'); 
    } 
} 
$db = new MyDB(); 
if(!$db) 
{ 
    echo $db->lastErrorMsg(); 
} else{ } 

$query = SQLite3::query($db, 'SELECT email, password FROM user LIMIT 25'); 
$result = sqlite_fetch_all($query, SQLITE_ASSOC); 
foreach ($result as $entry) { 
echo 'Email: ' . $entry['email'] . ' Password: ' . $entry['password0']; 
} 
?> 



<html> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Forgot Password</title> 

</head> 

<body> 

<form action="" method="post"> 
     <h1> Forgot password!</h1> 
     <label> Enter Your Email ID : </label> 

     <input id="email" type="email" name="email" required=" " /> 

     <input id="button" type="submit" name="submit" value="Submit" /> 

    </form> 

</body> 

</html> 
+1

运行查询你知道什么是'static',对不对? –

回答

0

为什么你已经创建了$db对象你应该早就知道。正确使用,而不是静态调用SQLite3::query(这不是静态函数)。

$query = $db->query('SELECT email, password FROM user LIMIT 25'); 

在这里看到的例子,在sqlite3的http://php.net/manual/en/sqlite3.query.php