ホームページ >バックエンド開発 >PHPチュートリアル >PHPはSQliteの操作にPDOを使っているのですが、WHERE IN()が実行できません アドバイスお願いします〜。

PHPはSQliteの操作にPDOを使っているのですが、WHERE IN()が実行できません アドバイスお願いします〜。

WBOY
WBOYオリジナル
2016-06-23 14:22:041032ブラウズ

この投稿は dlebh によって最終編集されました: 2013-09-17 14:28:12

php + sqlite

フィールド タイトルはインデックスです。

$sql = "select * from fang where titles in('kill')";$result = $dbh->query($sql);$r = $result->fetchAll();


戻りエラー: 致命的なエラー:
の非オブジェクトに対するメンバー関数 fetchAll() の呼び出し

ステートメントにはエラーがなく、通常どおり実行できますが、php では実行できません。

理由は何ですか? アドバイスをお願いします

ディスカッションへの返信 (解決策)

どの専門家がアドバイスをくれますか? 。 。 。

サポートされています!どこかで間違えたかもしれません
print_r($dbh->errorInfo());
問題があるかどうか見てみましょう

わかりました、試してみます

Array ( [0] => HY000 [ 1] => ; 1 [2] => そのような列はありません: タイトル )

このエラー

サポートされています!どこかで間違いを犯した可能性があります
print_r($dbh->errorInfo());
問題がないか確認してください

Array ( [0] => HY000 [1] => 1 [2] =>そのような列はありません: タイトル )

このエラー

そのような列はありません: タイトル
そのような列はありません: タイトル

間違って書いたはずです、マシンは嘘をつきません

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
SQL 列を比較してください

そのような列はありません: タイトル
そのような列はありません: タイトル

間違って書いたはずです、マシンは嘘をつきません

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
SQL 列を比較してください

致命的なエラー: メンバー関数 fetchall() を呼び出します非オブジェクト

まだこのエラーが発生します。 。

SQL ステートメントには問題はありません。SQLite で実行でき、結果が表示されます。
この PDO はインデックス列をサポートしていません。


そのような列はありません: タイトル
そのような列はありません: タイトル

間違って書いたはずです、マシンは嘘をつきません

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
SQL 列を比較してください

致命的なエラー: メンバー関数 fetchall( ) 非オブジェクト上で

それでもこのエラーが発生します。 。

SQL ステートメントには問題はありません。SQLite で実行でき、結果が表示されます。
この PDO はインデックス列をサポートしていません。


申し訳ありませんが、出力には確かにタイトル列がありません

しかし、テーブルを作成したときは、問題なくクエリできます

。なぜここにないのでしょうか?

初めて sqlite を使い始めたとき、誤解があるかもしれません。

SELECT * FROM sqlite_master
どちらもサポートされていませんか?スクライト2ですか?

SELECT * FROM sqlite_master
どちらもサポートされていませんか?スクライト2ですか?



モデレーターのおかげで、2 日間私を悩ませていた問題が 2 つのデータベースのフィールドが間違っていたことが分かりました。過去 2 日間、この間違ったデータベースを使用してしまいました。 。 。 。 。

笑 今回は大変ですね

モデレーターさん、熱心なご回答ありがとうございました

$sth = $db->query($sql);
$row = $ sth->fetchAll();

ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。