Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新mysql的个人记录_Php_Mysql - Fatal编程技术网

Php 更新mysql的个人记录

Php 更新mysql的个人记录,php,mysql,Php,Mysql,我有如下代码,如下所示。我的问题是,目前这允许更新mysql表的每条记录。我想让用户点击更新按钮,然后运行一段代码,将记录拉入原始表单。所以他们只能更新一条记录 提前谢谢 <html> <head> <title>Comic Collectors Club</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen and

我有如下代码,如下所示。我的问题是,目前这允许更新mysql表的每条记录。我想让用户点击更新按钮,然后运行一段代码,将记录拉入原始表单。所以他们只能更新一条记录

提前谢谢

<html>
<head>
    <title>Comic Collectors Club</title>
    <link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen and (min-width:481px)">
    <link rel="stylesheet" type="text/css" href="stylesheet mobile.css" media="screen and (max-width:480px)">
</head>
<body>
<div id="page">

<div id="header">
<h1>Welcome To The Comic Collectors Club Website</h1>
</div>

<div id="nav">
</body>
    <ul class="nav navbar-nav">
      <li><a href="index.html">Home</a></li>
      <li><a href="#">About Us</a></li>
      <li><a href="database.html">Add Your Comic To The Database</a></li>
      <li><a href="export.php">View Our Collection</a></li>
      <li><a class="active" href="update.php">Update Our Collection</a></li>
    </ul>
</div>

<div id="section">

<div id="search">
<input type="text"></input>
<input type="button" value="Search"></input>
</div>

<h1>Update Our Collection</h1>
<?php

define('DB_NAME', 'comics');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password1234');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
    die("Could not connect: " . mysql_error());
}

mysql_select_db("comics",$link);

if (isset($_POST['update'])){
$UpdateQuery = "UPDATE comics SET Email='$_POST[email]', Title='$_POST[Title]', Issue='$_POST[issue]', Edition='$_POST[edition]', Publisher='$_POST[publisher]', Quality='$_POST[quality]' WHERE Email='$_POST[hidden]'";
mysql_query($UpdateQuery, $link);   
};

$sql = "SELECT * FROM comics";
$myData = mysql_query($sql,$link);


echo "<table border=1>
<tr><th>Email</th>
    <th>Title</th>
    <th>Issue</th>
    <th>Edition</th>
    <th>Publisher</th>
    <th>Quality</th>
    <th>Cover Image</th></tr>";
while($record = mysql_fetch_array($myData)){
echo "<form action=update.php method=post>";
echo "<tr>";
echo "<td>" . "<input type=email name=email value=" . $record['Email'] . " </td>";
echo "<td>" . "<input type=text name=title value=" . $record['Title'] . " </td>";
echo "<td>" . "<input type=number name=issue value=" . $record['Issue'] . " </td>";
echo "<td>" . "<input type=text name=edition value=" . $record['Edition'] . " </td>";
echo "<td>" . "<input type=text name=publisher value=" . $record['Publisher'] . " </td>";
echo "<td>" . "<input type=text name=quality value=" . $record['Quality'] . " </td>";
echo "<td>" . "<input type=hidden name=hidden value=" . $record['Email'] . " </td>";
echo "<td>" . "<input type=submit name=update value=update" . " </td>";
echo "</form>";
}
echo "</table>";
mysql_close($link);
?>
<div id="footer">
    <table width="100%">
        <tr>
            <td><a href="#">Company Information</a></td>
            <td><a href="#">Conventions</a></td>
            <td><a href="#">Collections</a></td>
            <td><a href="#">Your Account</a></td>
        </tr>
    </table>
</div>

 </div>
</body>
</html>

漫画收藏家俱乐部
欢迎访问漫画收藏家俱乐部网站
更新我们的收藏
您没有关闭输入标签,而且您不需要隐藏电子邮件输入,因为您已经有了它。无论如何,我更改了您的代码,如下所示,请尝试此代码:

<html>
<head>
    <title>Comic Collectors Club</title>
    <link rel="stylesheet" type="text/css" href="stylesheet.css" media="screen and (min-width:481px)">
    <link rel="stylesheet" type="text/css" href="stylesheet mobile.css" media="screen and (max-width:480px)">
</head>
<body>
<div id="page">

    <div id="header">
        <h1>Welcome To The Comic Collectors Club Website</h1>
    </div>

    <div id="nav">
</body>
<ul class="nav navbar-nav">
    <li><a href="index.html">Home</a></li>
    <li><a href="#">About Us</a></li>
    <li><a href="database.html">Add Your Comic To The Database</a></li>
    <li><a href="export.php">View Our Collection</a></li>
    <li><a class="active" href="update.php">Update Our Collection</a></li>
</ul>
</div>

<div id="section">

    <div id="search">
        <input type="text"></input>
        <input type="button" value="Search"></input>
    </div>

    <h1>Update Our Collection</h1>
    <?php

    define('DB_NAME', 'comics');
    define('DB_USER', 'root');
    define('DB_PASSWORD', 'password1234');
    define('DB_HOST', 'localhost');

    $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

    if (!$link) {
        die("Could not connect: " . mysql_error());
    }

    mysql_select_db("comics",$link);

    if (isset($_POST['update'])){
        $UpdateQuery = "UPDATE comics SET Email='".$_POST['email']."', Title='".$_POST['Title']."', Issue='".$_POST['issue']."', Edition='".$_POST['edition']."', Publisher='".$_POST['publisher']."', Quality='".$_POST['quality']."' WHERE Email='".$_POST['email']."'";
        mysql_query($UpdateQuery, $link);
    };

    $sql = "SELECT * FROM comics";
    $myData = mysql_query($sql,$link);


    echo "<table border=1>
<tr><th>Email</th>
    <th>Title</th>
    <th>Issue</th>
    <th>Edition</th>
    <th>Publisher</th>
    <th>Quality</th>
    <th>Cover Image</th></tr>";
    while($record = mysql_fetch_array($myData)){
        echo "<form action=update.php method=post>";
        echo "<tr>";
        echo "<td>" . "<input type=email name=email value='" . $record['Email'] . "'></td>";
        echo "<td>" . "<input type=text name=title value='" . $record['Title'] . "'> </td>";
        echo "<td>" . "<input type=number name=issue value='" . $record['Issue'] . "'> </td>";
        echo "<td>" . "<input type=text name=edition value='" . $record['Edition'] . "'> </td>";
        echo "<td>" . "<input type=text name=publisher value='" . $record['Publisher'] . "'> </td>";
        echo "<td>" . "<input type=text name=quality value='" . $record['Quality'] . "'> </td>";
        echo "<td>" . "<input type=hidden name=hidden value='" . $record['Email'] . "'> </td>";
        echo "<td>" . "<input type=submit name=update value='update'></td>";
        echo "</form>";
    }
    echo "</table>";
    mysql_close($link);
    ?>
    <div id="footer">
        <table width="100%">
            <tr>
                <td><a href="#">Company Information</a></td>
                <td><a href="#">Conventions</a></td>
                <td><a href="#">Collections</a></td>
                <td><a href="#">Your Account</a></td>
            </tr>
        </table>
    </div>

</div>
</body>
</html>

漫画收藏家俱乐部
欢迎访问漫画收藏家俱乐部网站
更新我们的收藏
首先,用
\>
完成输入标记,可能是因为这个原因出现了问题

我有两个可能有效的解决方案:

  • 尝试更改输入的名称
    隐藏的
  • 尝试按id组织表
    comics
    中的行。然后,在where条件下,按其id选择行
  • 我认为您必须添加一个输入,以提供id参数。 选择要根据此id和where条件更新的行

顺便说一句,您对SQL注入非常开放。这是一个类项目,但是,我愿意接受一些建议,使其更加安全。任何学习都是很好的学习谢谢,但是,我如何编辑代码,以便更新会将您带到一个新页面,以便您只能更新该个人记录?@Spencer我相信Mertizzi回答了您原来的问题,如果它确实解决了您原来的帖子,则应标记为已解决。你的第二个问题就是;另一个问题。下面是如何接受答案并将其标记为已解决:然后返回此处并对勾号/复选标记执行相同操作,直到其变为绿色。这会通知社区,找到了解决方案。否则,其他人可能会认为问题仍然悬而未决,并可能希望发布(更多)答案。