###前提・実現したいこと
皆様こんちわphp初心者です。HTMLで作ったフォームからPHPとMYSQLで企業情報を登録する物を作ってますが、
この先、どのようにDBに反映できるようにしていけば良いでしょうか?
お詳しい方よろしくお願いします。
###発生している問題・エラーメッセージ
$dsn = 'mysql:dbname=mfdb;host=localhost'; $user = 'root'; $password = ''; try{ $db = new PDO($dsn, $user, $password); print('<br>'); if ($db == null){ print('接続に失敗しました。<br>'); } $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $stmt = $db->prepare("INSERT INTO office(companyoffice, cmpNum1, cmpname1, cmpname2, mssa1, mssa2, mssapass, mssaemail, mssatel1, mssafax1, mssazip, mssaprefecture, MssaAddress, sjs) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); $stmt->bindParam(':companyoffice', $companyoffice, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':cmpNum1', $cmpNum1, PDO::PARAM_INT); $stmt->execute(); $stmt->bindParam(':cmpname1', $cmpname1, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':cmpname2', $cmpname2, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssa1', $mssa1, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssa2', $mssa2, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssapass', $mssapass, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssaemail', $mssaemail, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssatel1', $mssatel1, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssafax1', $mssafax1, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssazip', $mssazip, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':mssaprefecture', $mssaprefecture, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':MssaAddress', $MssaAddress, PDO::PARAM_STR); $stmt->execute(); $stmt->bindParam(':sjs', $sjs, PDO::PARAM_STR); $stmt->execute(); if ($_SERVER['REQUEST_METHOD'] == 'POST'){ if(empty($_POST["companyoffice"])){ echo "事業者及びその事業所を入力してください"; exit; } $companyoffice= htmlspecialchars($_POST["companyoffice"],ENT_QUOTES,"UTF-8"); $_SESSION["companyoffice"] = $companyoffice; if(empty($_POST["cmpNum1"])){ echo "事業者代表名(フリガナ)を入力してください"; exit; } $cmpNum1= htmlspecialchars($_POST["cmpNum1"],ENT_QUOTES,"UTF-8"); $_SESSION["cmpNum1"] = $cmpNum1; if(empty($_POST["cmpname1"])){ echo "事業者代表名を入力してください"; exit; } $cmpname1= htmlspecialchars($_POST["cmpname1"],ENT_QUOTES,"UTF-8"); $_SESSION["cmpname1"] = $cmpname1; if(empty($_POST["cmpname2"])){ echo "事業者代表名(フリガナ)を入力してください"; exit; } $cmpname2= htmlspecialchars($_POST["cmpname2"],ENT_QUOTES,"UTF-8"); $_SESSION["cmpname2"] = $cmpname2; if(empty($_POST["mssa1"])){ echo "本店システム管理者を入力してください"; exit; } $mssa1= htmlspecialchars($_POST["mssa1"],ENT_QUOTES,"UTF-8"); $_SESSION["mssa1"] = $mssa1; if(empty($_POST["mssa2"])){ echo "本店システム管理者(フリガナ)を入力してください"; exit; } $mssa2= htmlspecialchars($_POST["mssa2"],ENT_QUOTES,"UTF-8"); $_SESSION["mssa2"] = $mssa2; if(empty($_POST["mssapass"])){ echo "本店管理者用パスワードを入力してください"; exit; } $mssapass= htmlspecialchars($_POST["mssapass"],ENT_QUOTES,"UTF-8"); $_SESSION["mssapass"] = $mssapass; if(empty($_POST["mssaemail"])){ echo "本店メールアドレスを入力してください"; exit; } $mssaemail= htmlspecialchars($_POST["mssaemail"],ENT_QUOTES,"UTF-8"); $_SESSION["mssaemail"] = $mssaemail; if(empty($_POST["mssatel1"])){ echo "本店電話番号の左を入力してください"; exit; } $mssatel1= htmlspecialchars($_POST["mssatel1"],ENT_QUOTES,"UTF-8"); $_SESSION["mssatel1"] = $mssatel1; //本店FAX番号 if(empty($_POST["mssafax1"])){ echo "本店FAX番号の左を入力してください"; exit; } $mssafax1= htmlspecialchars($_POST["mssafax1"],ENT_QUOTES,"UTF-8"); $_SESSION["mssafax1"] = $mssafax1; //本店郵便番号 if(empty($_POST["mssazip"])){ echo "本店郵便番号を入力してください"; exit; } $mssazip= htmlspecialchars($_POST["mssazip"],ENT_QUOTES,"UTF-8"); $_SESSION["mssazip"] = $mssazip; //本店都道府県 $mssaprefecture= htmlspecialchars($_POST["mssaprefecture"],ENT_QUOTES,"UTF-8"); if(empty($mssaprefecture)){ echo "本店都道府県を入力してください"; exit; } $_SESSION["mssaprefecture"] = $mssaprefecture; if(empty($_POST["MssaAddress"])){ echo "本店住所を入力してください"; exit; } $MssaAddress= htmlspecialchars($_POST["MssaAddress"],ENT_QUOTES,"UTF-8"); $_SESSION["MssaAddress"] = $MssaAddress; if(empty($_POST["Mssabill"])){ echo "本店所在ビルを入力してください"; exit; } $Mssabill= htmlspecialchars($_POST["Mssabill"],ENT_QUOTES,"UTF-8"); $_SESSION["Mssabill"] = $mssazip; if(empty($_POST["sjs"])){ echo "就労支援種目を入力してください"; exit; } $sjs= htmlspecialchars($_POST["sjs"],ENT_QUOTES,"UTF-8"); $_SESSION["sjs"] = $sjs; }else { echo "<h3>下記内容をご記入とご確認の上で会員登録を押してください。</h3>"; } }catch (PDOException $e){ echo $e->getMessage(); exit; } $db = null; ?> </div> <form method="post" action="company.php" class="contact"> <table> <caption>事業者登録票</caption> <tbody> <tr> <th><label for="section">事業者及びその事業所</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="companyoffice" value=""></td> </tr> <tr> <th><label for="section">事業者番号 </label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td><input type="number" name="cmpNum1" size="10" maxlength="30" value=""></td> </tr> <tr> <th><label for="section">事業者代表名</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="cmpname1" size="10" maxlength="30" value=""></td> </tr> <tr> <th><label for="section">事業者代表名 <span class="supplement">(フリガナ)</span></label></th> <td class="required"><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="cmpname2" size="10" maxlength="30" value=""></td> </tr> <tr> <th><label for="section">本店システム管理者</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="mssa1" size="10" maxlength="30" value=""></td> </tr> <tr> <th><label for="section">本店システム管理者<br><span class="supplement">(フリガナ)</span></label></th> <td class="required"><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="mssa2" size="10" maxlength="30" value=""></td> </tr> <tr> <th><label for="email">本店管理者用<br>パスワード</label></th> <td class="required"><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="password" name="mssapass" size="30" maxlength="30"><br> <span class="supplement">ご入力間違いのないようにご注意ください</span></td> </tr> <tr> <th><label for="email">本店メールアドレス</label></th> <td class="required"><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="email" name="mssaemail" size="30" maxlength="50"><br> <span class="supplement">ご入力間違いのないようにご注意ください</span></td> </tr> <tr> <th><label for="tel1">本店電話番号</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="tel" name="mssatel1" size="15" maxlength="15"></td> </tr> <tr> <th><label for="fax1">本店FAX番号</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="text" name="mssafax1" size="15" maxlength="15"></td> </tr> <tr> <th rowspan="3"><label for="zip1">本店住所</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><label for="zip1">〒</label> <input type="number" name="mssazip" size="5" maxlength="10" value=""></td> </tr> <tr> <td class="required"><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="address" name="mssaprefecture" size="40" maxlength="20"></td> </tr> <tr> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="address" name="MssaAddress" size="40" maxlength="20"></td> </tr> <tr> <th><label for="company">就労支援種目</label></th> <td class="required" ><img src="./img/required1.gif" alt="必須" width="26" height="15"></td> <td colspan="10"><input type="checkbox" name="sjs" value="A:雇用型" checked>A:雇用型 <input type="checkbox" name="sjs" value="B:非雇用型">B:非雇用型 <input type="checkbox" name="sjs" value="C:就労移行支援">C:就労移行支援</td> </tr> <tr> </table> <a href="company.php?action=rewrite">« 書き直す</a> <p class="button"><input type="submit" value="登録"></p> </form>
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
php5、MYSQL
より詳細な情報
###発生している問題・エラーメッセージ
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/13 12:12
退会済みユーザー
2016/09/13 12:22 編集
2016/09/14 01:59
退会済みユーザー
2016/09/14 03:54
2016/09/14 04:00
退会済みユーザー
2016/09/14 04:02
2016/09/14 04:08
退会済みユーザー
2016/09/14 04:15 編集
2016/09/14 05:11