0

我创建了一个评论的网站。人们访问它并在其上放置评论,然后将其放入数据库中。

我在网站上创建了一个简单的表单和区域,以便他们能够编辑和删除他们的评论。

但是,我必须从每个用户的数据库中提取他们的评论信息的代码不起作用。我需要替换"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> 

我已经尝试并尝试通过使用“回声”以及介于两者之间的所有内容来解决这个问题!请帮帮我。谷歌搜索它并去教程网站没有好处!一旦找到,我将用答案更新问题。

基于以下用户更新的帮助

我将 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 回答