PHP スクリプトに次の SQLite QUERY があります。
try
{
//open the database
$db = new PDO('sqlite:users.sqlite');
//create the database or view existing
$db->exec("CREATE TABLE USERS (Id INTEGER PRIMARY KEY, Type TEXT, Name TEXT, Password TEXT)");
//select records with username and password match
$existUser = $db->query("SELECT COUNT(*) FROM Users WHERE Name='" . $incomingusername . "' and Password ='" . $incomingpassword . "'");
//check that either the result string isn't empty or somehow count rows
$result = sqlite_num_rows($existUser);
print $result;
echo "Done output from SQL<BR>";
// close the database connection
$db = NULL;
}
catch(PDOException $e)
{
print 'Exception : '.$e->getMessage();
}
これからエラーが発生します: 致命的なエラー: 未定義関数 sqlite_num_rows() への呼び出し
そこで調べてみたところ、言語仕様は嘘で、このメソッドは存在しないことがわかりました。必要なのは、sqlite データベースにユーザー名とパスワードが含まれているかどうかをテストすることだけです。SELECT COUNT(*) FROM Users WHERE Name='Jeff' and Password ='Monhty'; も試しました。しかし、これは私が使用できるものを返しません。返される結果の型がわかりません。データベースに対してコンソールでこの SELECT COUNT を実行すると、正確に 1 つの結果が得られ、正しい動作が得られます。
PHPスクリプトでその結果をブール値として処理できるようにするために使用できるSQL文字列を誰かが示してもらえますか? どうもありがとう。
Ninjaedit - ->numRows(); どちらも機能しません。また、認識されていません。