0

レビューサイトを作りました。人々はそれを訪れ、データベースに配置されるレビューを投稿します。

レビューを編集および削除できるように、Web サイトに簡単なフォームと領域を作成しました。

ただし、ユーザーごとにデータベースからレビュー情報を取得する必要があるコードは機能しません。"WHERE FirstName='peter'");を置き換える必要があります。ユーザーがフォームに入力した電子メールで送信されたレビューをスクリプトが取得して表示できるようにするもの。

<?php
    $con=mysqli_connect("example.com","peter","abc123","my_db");
    // Check connection
    if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

    $result = mysqli_query($con,"SELECT * FROM Persons
    **WHERE FirstName='Peter'");**

    while($row = mysqli_fetch_array($result))
{
    echo $row['FirstName'] . " " . $row['LastName'];
    echo "<br>";
}

?>

これがフォーム html です (非常に単純で、まだ多くの作業は行われていません)。

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

<label>Please enter your email:</label>

<input type="email" id="email" name="email" placeholder="email">

<input type="submit" value="submit"> 

</form> 

私は、「エコー」とその間のすべてを使用して、これを理解しようとしました! 私を助けてください。Google で検索してチュートリアルの Web サイトにアクセスしても、うまくいきませんでした。見つかったら、回答で質問を更新します。

以下の仲間のユーザーの更新からのヘルプに基づく

phpスクリプトを編集して、次のように正確に読み取ります。

<?php
     $con=mysqli_connect("example.com","peter","abc123","my_db");
     // Check connection
     if (mysqli_connect_errno())
{
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

    $result = mysqli_query($con,"SELECT * FROM Persons
    WHERE $email = mysqli_real_escape_string($_POST['email']);");

    while($row = mysqli_fetch_array($result))
{
    echo $row['FirstName'] . " " . $row['LastName'];
    echo "<br>";
}

?>

フォームで送信を押した後、ブラウザでこのエラーが発生しました。

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or         T_VARIABLE or T_NUM_STRING in /home/content/38/10473938/html/review-pratt/business_profiles/myReviews.php on line 106
4

1 に答える 1

0

あなたのコードには何か問題があると思います。これを試して:

<?php
$result = mysqli_query($con,sprintf("SELECT * FROM Persons WHERE email = '%s'",mysqli_real_escape_string($con,$_POST['email'])));
于 2013-03-23T06:58:27.750 に答える