PHPについて質問です。


現在メールフォームを作成しているのですが、mysqli_query 文がうまく使えず困っております。

コメント欄にコードを貼らせていただきますのでどなたか確認していただけないでしょうか。

よろしくお願いいたします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2022/10/17 11:05:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pogpi No.1

回答回数428ベストアンサー獲得回数59

ポイント150pt

POSTされた値が空ではないか、データ型と合っているかのチェックが要ります。

そのままだとセキュリティ上も危険です。

id:aiomock

データ型はすべてvarcharを使用しています。

POSTの値は任意の項目があるので空のケースもあります。

この項目をチェックすれば

mysqli_query 文は機能するのでしょうか?

2022/10/10 16:21:47
id:pogpi

エラーメッセージ内容はどんなものが出ていますか。

2022/10/10 18:51:30
id:aiomock

もしよければ簡単なPHPコード書いて頂けないでしょうか。

回答を聞いただけでは私の力ではコードが書けないです。

お手数をおかけしますがご検討いただくと嬉しいです。

id:kaoato No.2

回答回数236ベストアンサー獲得回数86

ポイント150pt

$sql = "INSERT INTO `tensi` (`YAHOO`, `NO`, `KAKAKU`, `MAIL`, `TEL`, `IKEN`)
VALUES (\"" . $_POST["yahoo"] . "\",\" " . $_POST["no"] . "\",\"" . $_POST["kakaku"] . "\",
\"" . $_POST["mail"] . "\ ,\"" . $_POST["tel"] . "\,
\"" . $_POST["iken"] . "\);";

この下ぐらいに、

var_dump($sql);

を挿入して、実行してみて、発行されるSQL文を取得する


phpMyAdminで、上記のSQL文をそのまま実行してみて

エラーが出ないかどうかを確認する。

たぶん、エラーがでてINSERTできないのでは?

その場合は、SQL文の文字列が間違ってるので、SQL文を組み立ててる部分を見直す

エラーがでないでINSERT出来てる場合は、

$db=mysqli_connect("mysql620.db.sakura.ne.jp","ID名","PW名","DB名");

の部分が間違っていて、DB接続に失敗してるとかでは?

  • id:aiomock
    こちらがPHPコードになります。前回質問した時に作成したコードなのですが機能しなくなりました。
    さくらインターネットのサーバーを使用しております。

    確認したところ $ret = mysqli_query($db,$sql); の構文のところでエラーが出ているみたいです。
    お願いします。


    <?php


    if (isset($_POST["submit"])){



    $db=mysqli_connect("mysql620.db.sakura.ne.jp","ID名","PW名","DB名");


    $sql = "INSERT INTO `tensi` (`YAHOO`, `NO`, `KAKAKU`, `MAIL`, `TEL`, `IKEN`)
    VALUES (\"" . $_POST["yahoo"] . "\",\" " . $_POST["no"] . "\",\"" . $_POST["kakaku"] . "\",
    \"" . $_POST["mail"] . "\ ,\"" . $_POST["tel"] . "\,
    \"" . $_POST["iken"] . "\);";

    $ret = mysqli_query($db,$sql);


    }
    ?>


  • id:aiomock
    こちらが作成しているサイトのページになります。

    https://tensi.sakura.ne.jp/index.php



  • id:aiomock
    念のためHTMLコードも書かせていただきます。


    <html>
    <head><meta charset="UTF-8">
    <meta name="viewport" content="width=350"></head>
    <body>

    <form action="index.php" method="post">


    <table width="350" bgcolor="#a9bcb4" border="1"><tr><td align="center">値段交渉メールフォーム</td></tr></table><br>

    <table border="1" cellspacing="0" cellpadding="0">
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">お客様ヤフーID</td><td valign="center" width="200" align="left"><input type="text" name="yahoo" size="20" ></td></tr>
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">商品番号</td><td valign="center" width="200" align="left"><br><br><input type="text" name="no" size="5" >
    <br><br>商品タイトルの一番最初の番号になります<br><br>
    例)10 バーバリー シャツ<br><br>この場合商品番号は<font color="red">10</font></td valign="center"></tr>
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">希望価格</td><td valign="center" width="200" align="left"><input type="text" name="kakaku" size="5" >円</td></tr>
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">メールアドレス</td><td valign="center" width="200" align="left"><input type="text" name="mail" size="25"></td></tr>
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">電話番号<br>(任意)</td><td valign="center" width="200" align="left"><input type="text" name="tel" size="25" ></td></tr>
    <tr><td bgcolor="#a9bcb4" valign="center" width="150">意見・ご要望</td><td valign="center" width="200" align="left"><textarea name="iken" rows="4" cols="27"></textarea></td></tr>
    </table>
    <br><br>
    <table width="450"><tr><td><div align="center"><input type="submit" name="submit" value="送信" onclick="confirm('もう一度確認後、よかったらOKボタンを押してください。')"</div></td></tr></table>


    <br><br>
    <table width="450" bgcolor="#cddddd"><tr><td>
    ★値段交渉成立後の流れ<br>
    <br>
    1:希望された商品を取り消し、値段を変えて再度出品させていただきます。<br>
    ↓<br>
    2:お客様へ出品した商品のURLを送らせていただきます。<br>
    ↓<br>
    3:お客様入札<br>
    ↓<br>
    4:商品の早期終了→落札<br>
    <br>

    </td></tr></table>
    </body></html>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません