Fatal error: Call to a member function bindValue() on a non-object in /home/アカウント名/www/index.php on line 487
というエラーが出てしまいました。
PHPバージョンはPHP 5.2.8です。
487行目前後のスクリプトは以下です。
if (!$smarty->is_cached(TEMPLATE_ARTICLE) or $page) {
//表示記事番号取得
$stmt = $pdo->prepare('SELECT no FROM ' . DATABASE_TABLE_ARTICLE . ' WHERE stat = 1 ORDER BY date DESC LIMIT :start, :limit');
$stmt->bindValue(':start', intval($configs['_blog']['page_size']) * $page, PDO::PARAM_INT);
$stmt->bindValue(':limit', intval($configs['_blog']['page_size']), PDO::PARAM_INT);
$flag = $stmt->execute();
if (!$flag) {
db_error($stmt->errorInfo());
}
DBはsqliteを使っています。
バインドができていないというエラーですが、どのような解決法があるでしょうか?よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>> Fatal error: Call to a member function bindValue() on a non-object
PDOのSQLiteドライバで読めないデータベースを使用しているか、データベース名を間違えている。
あるいは、何らかのPHPアクセラレータを使用していて、キャッシュが崩れているということは有りませんか?
前者なら、PDO経由でデータベースを作り直すとか
後者なら、キャッシュを消してみるなど
No.2
- 回答日時:
「non-object(メソッドなんか持ってない)なのにメソッドを呼んだ」っていうエラーです。
よって、$stmt にちゃんとobject が入ってないんでしょうね。
$stmt = $pdo->prepare で、エラーがあると、$stmtにはfalseが入るから
次に行く前に if( $stmt !==false ){ で分岐して、実行した方がいいと思うけど。
デバッグのためには、prepared 文がどうなっているかを出力してみたり、sqliteがどういうエラーを出しているか、PDO->errorInfo() を調べて下さい。
No.1
- 回答日時:
bindValue()関数のnon-objectじゃないのですか?
その関数はちゃんと参照出来ているのでしょうか?
後487行目のエラーという事は
その以前にエラーになっている理由が存在している可能性が高いと言えますけど
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP php エラー 2 2022/10/23 16:43
- MySQL addcslashesの使い方について教えてください。 DBに繋げてそこから、部分一致させたいのです 1 2023/04/14 22:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
正規表現での最後尾のバックス...
-
PHPでFetalなエラーが発生した場合
-
「@$変数」の「@の意味は?」
-
bindValueエラー
-
PHPにて外部サイト内容が取得不...
-
空メールでの自動返信:ガラケ...
-
PHP8を使うと、大量のWarningが...
-
SELECTの値を保持する
-
phpでクラスのメソッドで同名の...
-
ある条件に当てはまったときに...
-
PHP 文字列を代入した配列を変...
-
phpをブラウザで表示しようとす...
-
ワードプレスサイト PHP8.0.25...
-
fsockopenの例外について
-
PHPでクラス内のpublicでエラー...
-
windows環境でphpのfopenが使用...
-
PHPでSMTPを使ってメール送信で...
-
パースエラーとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP8を使うと、大量のWarningが...
-
フォントの色を変えるには?
-
ワードプレスサイト PHP8.0.25...
-
トランザクションが原因?DBに...
-
PHPでfatal errorが出ても無視...
-
PHPでネットワークドライブのop...
-
「@$変数」の「@の意味は?」
-
パースエラーとは?
-
PHPで特定のURLにジャンプす...
-
正規表現での最後尾のバックス...
-
phpでクラスのメソッドで同名の...
-
error_reporting(0);にも関わら...
-
PHPで、エラーがない場合のみ画...
-
php7のhtmlentitiesはEUC-JPを...
-
phpのrenameでエラーが出ます
-
phpでget_headers()が使えない?
-
メールアドレスにメールが届い...
-
phpのエラー(T_LNUMBER)について
-
urlの直接入力を防ぐには
-
これは例外処理でしょうか?
おすすめ情報