Fatal error: Call to undefined method MDB2_Error::execute()
エラーが発生しております。解決が出来ず半日が経ち、困っております。
どなたかご教授願います。内容は会員登録確認画面から(データベース登録)会員確定画面の際にうまく機能していません。よろしくお願いします。
tourokucheck.php
//DB接続
$db = MDB2::connect(DNS);
if (PEAR::isError($db)) {
die($db->getMessage());
}
//プレースホルダで SQL 作成
$sql = "SELECT COUNT(*) AS CNT FROM USERS WHERE ID = ? ;";
//var_dump($sql);
//パラメーターの型を指定
$stmt = $db->prepare($sql, array('text'));
//パラメーターを渡して SQL 実行
$rs = $stmt->execute(array($id));
//var_dump($rs);
while ($row = $rs->fetchRow(MDB2_FETCHMODE_ASSOC)) {
$count = $row['cnt'];
}
$db->disconnect()
?>
touroku_submit.php
<?php
require_once 'MDB2.php';
require_once("function.php");
session_start();
header("Content-type: text/html; charset=utf-8");
//CSRF チェック
if ($_SESSION['token'] != $_POST['token']) {
$_SESSION = array();
session_destroy();
session_start();
$_SESSION["error_status"] = 2;
header("HTTP/1.1 301 Moved Permanently");
header("Location: login.php");
exit();
}
//エラー情報のリセット
$_SESSION["error_status"] = 0;
$name = $_POST['full_name'];
$name_kana = $_POST['furigana'];
$birthday = ($_POST['birthday']);
$postcode = ($_POST['postcode']);
$address = ($_POST['address']);
$mail = $_POST['mail'];
$telephone = $_POST['telephone'];
$password = $_POST["password1"];
$salt = get_salt();
$url_pass = get_url_password();
$hash = strechedPassword($salt, $password);
//DB接続
$db = MDB2::connect(DNS);
if (PEAR::isError($db)) {
die($db->getMessage());
}
//プレースホルダで SQL 作成
$sql = "INSERT INTO USERS (name,name_kana,birth,postcode,address,MAILADDRESS,telephone,PASSWORDSALT,TEMP_PASS,LAST_CHANGE_PASS_TIME,RESISTER_TIME) ";
var_dump($sql);
$sql .= " VALUES (?,?,?,?,?,?,?,?,?,?,?);";
//パラメーターの型を指定
$stmt = $db->prepare($sql, array('text','text','text','text','text','text','text','text','text','timestamp','timestamp'));
//パラメーターを渡して SQL 実行
echo 'name:';
$res = $stmt->execute($name,$name_kana,$birth,$postcode,$address,$mail,$telephone,$password,$salt,$hash,$url_pass,date('Y-m-d H:i:s'),date('Y-m-d H:i:s'));
//var_dump($res);
//ID重複の可能性があるのでチェック
if (PEAR::isError($res)) {
$db->disconnect();
$_SESSION["error_status"] = 4;
header("HTTP/1.1 301 Moved Permanently");
header("Location: register.php");
exit();
}
$db->disconnect();
//ユーザーにメールの送信
//メールヘッダーインジェクション対策
$mail = str_replace(array("\r\n","\r","\n"), "", $mail);
$url = "https://" . SERVER . "/register_confirm.php?" . $url_pass;
$msg = "以下のアドレスからアカウトを有効にしてください。" . PHP_EOL;
$msg .= "アドレスの有効時間は10分間です。" . PHP_EOL;
$msg .= "有効時間後はパスワードのリセットを行ってください。" . PHP_EOL . PHP_EOL;
$msg .= $url;
mb_language("ja");
mb_internal_encoding("UTF-8");
mb_send_mail($mail, "ユーザー登録", $msg, " From: " . SENDER_EMAIL);
?>
No.2ベストアンサー
- 回答日時:
execute()でエラーが出てるようでしたら、$res = $stmt->execute(・・・ 以降にある
if (PEAR::isError($res)) {} 内で以下をecho出力して何かヒントとなる情報は出てきませんか?
$res->getMessage();
$res->getDebugInfo();
No.1
- 回答日時:
>エラーが発生しております。
解決が出来ず半日が経ち、困っております。エラー行番号でていませんか?
該当行およびその前後はどうなっていますか?
connectの際"DNS"の定数をしていしているように見えますが
typoだとは思いますが、一般に指定するのはData Source NameなのでDSNです。
そのあたり細かい記載ミスがないかをチェックしてみてはどうでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP php ログイン 1 2022/11/01 00:24
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
SQL文が実行できません
-
テキストボックスに入れた内容...
-
VBSの中で書くSQL文の記...
-
SQLiteでカラムを追加
-
codeigniter 複数モデルでトラ...
-
エラー3011
-
Accessのテーブルへ複数の主キ...
-
<VB.NET>INSERT文でDBにデータ...
-
MySQLでデータベースにデータin...
-
Pro*Cの構文エラー
-
PHPで[]の使い方について
-
while文の中にwhile文を書きた...
-
stringaddslashes 半角¥が消える
-
テーブルに入っているデータと...
-
phpでテーブルを作る際変数によ...
-
SELECT結果から動的にコンボボ...
-
phpのupdate,sql文にて連番カラ...
-
ヒアドキュメントでSQLを書く事...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
テキストボックスに入れた内容...
-
SQL文が実行できません
-
SQL文の実行に失敗しました???
-
in 'where clause'のエラーの理由
-
Accessのテーブルへ複数の主キ...
-
SELECT COUNTで取得した結果の表示
-
LocalのNotesメールDBをVBAで参...
-
SELECT文を発行して、ACCESSよ...
-
phpのPEARのMDB2を使って出たエ...
-
エラー3011
-
ASPでRecordCountが使用でき...
-
データフォームウィザードで追...
-
codeigniter 複数モデルでトラ...
-
Call to undefined method MDB2...
-
PHP(PDO)でDBの情報を完全一...
-
PEAR でprepareメソッドがエラーに
-
時刻型にNULLでセットしたい
-
ADOを使いDBへ読み書きしたい
おすすめ情報