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);

?>

A 回答 (2件)

execute()でエラーが出てるようでしたら、$res = $stmt->execute(・・・ 以降にある


if (PEAR::isError($res)) {} 内で以下をecho出力して何かヒントとなる情報は出てきませんか?

$res->getMessage();
$res->getDebugInfo();
    • good
    • 0
この回答へのお礼

何とか解決することが出来ました。一つずつvar_dumpで確認して理解することが出来ました。

お礼日時:2016/01/17 00:41

>エラーが発生しております。

解決が出来ず半日が経ち、困っております。

エラー行番号でていませんか?
該当行およびその前後はどうなっていますか?

connectの際"DNS"の定数をしていしているように見えますが
typoだとは思いますが、一般に指定するのはData Source NameなのでDSNです。
そのあたり細かい記載ミスがないかをチェックしてみてはどうでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

  • 今年の梅雨の傾向を気象予報士が解説!

    ここのところ東京でも雨の日が多い気がするが、まだ梅雨には入っていないらしい。「教えて!goo」には「梅雨になると嫌なことを教えて!」という質問が投稿されているが、「洗濯ものが乾ききにくい&外に干せない! ...

  • 牛丼まで割り勘の彼と暮らせる!?

    付き合っている彼氏や彼女のお金の使い方を見ていて、相手の金銭感覚が理解できず結婚を躊躇してしまうという話をたまに聞くが、その真っ只中で悩んでいる女性が「教えて!goo」に「牛丼さえ割り勘の彼氏」といった...

  • 【ヨーグルトとハチミツで作る】篠原涼子特製 生姜焼き

    ご飯がすすむおかずの定番、生姜焼き。家庭によって、またお店によって、様々なレシピがある中、女優の篠原涼子さんの作る特製生姜焼きのレシピが非常に興味深い。テレビで披露されたことのあるこの作り方は、なんと...

  • ウエディングドレスはなぜ白なのか?

    挙式予定の花嫁にとって、結婚式の準備は大変なものだ。特に新婦にとってのドレス選びは選択と迷いの連続。そのドレスであるが、白無垢も含め、色は総じて「白」である。だが、なぜウエディングドレスをはじめとする...

  • ゲーム業界ダンナ観察日記:第59話「増えろ脂肪」

    ダンナ様のねむねむ。奥様のとぽすけ。ごく普通のふたりは、ごく普通の結婚をし、だらだらと夫婦生活を送っていました。でもただひとつ違っていたのは、ダンナ様はゲーム会社勤務だったのです。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ