1

ユーザーは選択ボックスから値を選択し、フォームを介して別のページに渡されます。このページには、その選択のmysqlレコードが表示されます。これは結果を示していませんが、エコーアウトできるため、値は確実に渡されています。

<?php
    include("top.php");

    $db = getConnection();

    $eventID = $_POST['eventID'];

    echo $eventID;
    $queryEvent = $db->query("SELECT * FROM projectEvent WHERE eventID = '$eventID'");
    $queryEvent->setFetchMode(PDO::FETCH_ASSOC);
    $record = $queryEvent->fetchALL();
?>
<form name="form1" id="form1" method="post" action="deleteOpen.php">
<p> are you sure you want to delete the following Open Day? </p>
    <table width="200" cellpadding="0" cellspacing="0">
                <tr>
                <th scope="row">eventID</th>
                <td><?php echo $record -> eventID; ?></td>
                </tr>
                <tr>    
                <th scope="row">propertyID</th>
                <td><?php echo $record -> propertyID; ?></td>
                </tr>
                <tr>
                <th scope="row">eventDate</th>
                <td><?php echo $record -> eventDate; ?></td>
                </tr>
                <tr>
                <th scope="row">eventTime</th>
                <td><?php echo $record -> eventTime; ?></td>
                </tr>
                <tr>
                <th scope="row">eventDescription</th>
                <td><?php echo $record -> eventDescription; ?></td>
                </tr>
    </table>

値が表に表示されていない理由を誰かが提案できますか?

ありがとう

4

3 に答える 3

5
  1. データを表示するには、POSTメソッドを使用するのではなく、代わりにGETを使用する必要があります。
  2. PDO :: quoteで値をエスケープするか、query()の代わりにprepare/executeでpreparedステートメントを使用します
  3. ASSOCモードを使用している場合-なぜオブジェクトプロパティとしてそれらにアクセスしているのですか?
  4. さらに、実際にはネストされた配列がありますが、単一のオブジェクトとしてアクセスします。配列が必要ない場合-fetchAll()を使用しないでください
  5. これらのばかげerror_reporting(E_ALL);た間違いを確認するために、常にスクリプトを使用してください。
于 2012-04-29T13:08:51.087 に答える
0

次のように、変数を個別に連結できます。

$queryEvent = $db->query("SELECT * FROM projectEvent WHERE eventID = ".$eventID.")";
于 2012-04-29T13:02:03.580 に答える
-1

通常、私は少し異なる方法を行います。問題を指摘していないかもしれませんが、解決すると思います。私は通常、引用符の中で変数を使用しませんが、以下を試してください。

$sql = sprintf("SELECT * FROM projectEvent WHERE eventID = '%s'", $eventID);
$queryEvent = $db->query($sql);
于 2012-04-29T12:57:50.913 に答える