XAMPP에서 PHP를 사용하여 MYSQL 데이터베이스 테이블 필드를 업데이트 할 수 없습니다.

사용자 7207170

그래서 저는 php웹 사이트 를 디자인하려고하는데 , 지금까지는 목록 테이블에 항목을 추가하는면에서 잘 작동합니다.

문제는를 사용하여 테이블 업데이트 할 수 없다는 것 edit.php입니다. 편집 링크를 클릭하면 다음 메시지가 표시됩니다.

"편집 할 데이터가 없습니다."

그러나 수동으로 넣으려고 localhost/edit.php**?id=1**하면 ID 번호 목록이 표시되고 제대로 작동합니다. 도와주세요.

home.php

<html>
    <head>
        <title>My first PHP Website</title>
    </head>
   <?php
   session_start(); //starts the session
   if($_SESSION['user']){ // checks if the user is logged in  
   }
   else{
      header("location: index.php"); // redirects if user is not logged in
   }
   $user = $_SESSION['user']; //assigns user value
   ?>
    <body>
        <h2>Home Page</h2>

<hello>! 
 <!--Display's user name-->
        <a href="logout.php">Click here to go logout</a><br/><br/>
        <form action="add.php" method="POST">
           Add more to list: <input type="text" name="details" /> <br/>
           Public post? <input type="checkbox" name="public[]" value="yes" /> <br/>
           <input type="submit" value="Add to list"/>
        </form>
    <h2 align="center">My list</h2>
    <table border="1px" width="100%">
    <tr>
      <th>Id</th>
      <th>Details</th>
      <th>Post Time</th>
      <th>Edit Time</th>
      <th>Edit</th>
      <th>Delete</th>
      <th>Public Post</th>
    </tr>
    <?php
      mysql_connect("localhost","root","") or die(mysql_error());
      mysql_select_db("first_db") or die("Cannot connect to database");
      $query = mysql_query("select * from list");
      while($row = mysql_fetch_array($query))
      {
        print "<tr>";
          print '<td align="center">'. $row['id'] . "</td>";
          print '<td align="center">'. $row['details'] . "</td>";
          print '<td align="center">'. $row['date_posted'] . " - " . $row['time_posted'] . "</td>";
          print '<td align="center">'. $row['date_edited'] . " - " . $row['time_edited'] . "</td>";
          print '<td align="center"><a href="edit.php">edit</a></td>';
          print '<td align="center"><a href="delete.php">delete</a></td>';
          print '<td align="center">'. $row['public'] . "</td>";
        print "</tr>";
      }
    ?>
    </table>
  </body>
</html>

영상)

edit.php

<html>
    <head>
        <title>My first PHP website</title>
    </head>
    <?php
    session_start(); //starts the session
    if($_SESSION['user']){ //checks if user is logged in
    }
    else{
        header("location:index.php"); // redirects if user is not logged in
    }
    $user = $_SESSION['user']; //assigns user value
    $id_exists = false;
    ?>
    <body>
        <h2>Home Page</h2>
        <p>Hello <?php Print "$user"?>!</p> <!--Displays user's name-->
        <a href="logout.php">Click here to logout</a><br/><br/>
        <a href="home.php">Return to Home page</a>
        <h2 align="center">Currently Selected</h2>
        <table border="1px" width="100%">
            <tr>
                <th>Id</th>
                <th>Details</th>
                <th>Post Time</th>
                <th>Edit Time</th>
                <th>Public Post</th>
            </tr>
            <?php
                if(!empty($_GET['id']))
                {
                    $id = $_GET['id'];
                    $_SESSION['id'] = $id;
                    $id_exists = true;
                    mysql_connect("localhost", "root","") or die(mysql_error()); //Connect to server
                    mysql_select_db("first_db") or die("Cannot connect to database"); //connect to database
                    $query = mysql_query("Select * from list Where id='$id'"); // SQL Query
                    $count = mysql_num_rows($query);
                    if($count > 0)
                    {
                        while($row = mysql_fetch_array($query))
                        {
                            Print "<tr>";
                                Print '<td align="center">'. $row['id'] . "</td>";
                                Print '<td align="center">'. $row['details'] . "</td>";
                                Print '<td align="center">'. $row['date_posted']. " - ". $row['time_posted']."</td>";
                                Print '<td align="center">'. $row['date_edited']. " - ". $row['time_edited']. "</td>";
                                Print '<td align="center">'. $row['public']. "</td>";
                            Print "</tr>";
                        }
                    }
                    else
                    {
                        $id_exists = false;
                    }
                }
            ?>
        </table>
        <br/>
        <?php
        if($id_exists)
        {
        Print '
        <form action="edit.php" method="POST">
            Enter new detail: <input type="text" name="details"/><br/>
            public post? <input type="checkbox" name="public[]" value="yes"/><br/>
            <input type="submit" value="Update List"/>
        </form>
        ';
        }
        else
        {
            Print '<h2 align="center">There is no data to be edited.</h2>';
        }
        ?>
    </body>
</html>

<?php
    if($_SERVER['REQUEST_METHOD'] == "POST")
    {
        mysql_connect("localhost", "root","") or die(mysql_error()); //Connect to server
        mysql_select_db("first_db") or die("Cannot connect to database"); //Connect to database
        $details = mysql_real_escape_string($_POST['details']);
        $public = "no";
        $id = $_SESSION['id'];
        $time = strftime("%X");//time
        $date = strftime("%B %d, %Y");//date
        foreach($_POST['public'] as $list)
        {
            if($list != null)
            {
                $public = "yes";
            }
        }
        mysql_query("UPDATE list SET details='$details', public='$public', date_edited='$date', time_edited='$time' WHERE id='$id'") ;
        header("location: home.php");
    }
?>

http://s15.postimg.org/m8dloz7d7/screenshot_20.png

그리고 여기 ?id=1URL http; // s15, postimg, org / yoabiq0p7 / screenshot_21, png (쉼표를 마침표로 변경)에있는 것입니다.

브루노

edit.php 만 인쇄하고 있으며 전체 편집 링크를 인쇄해야합니다.

print '<td align="center"><a href="edit.php">edit</a></td>';

이 줄을 다음으로 바꿉니다.

print '<td align="center"><a href="edit.php?id=' . $row["id"] . '">edit</a></td>';

이것은 문제를 해결할 것입니다.

추신 : 조심하세요, 당신의 코드는 SQL 주입을 위해 열려 있습니다! 다음 위치에서 mysql_real_escape_string ()을 사용해야합니다.

$id = mysql_real_escape_string($_GET['id']);

ID가 숫자 일 경우 SQL 주입을 방지하기 위해 다음을 수행 할 수도 있습니다.

$id = intval($_GET["id"]);

SQL 인젝션은 매우 심각하며 외부에서 오는 것을 필터링해야합니다. 준비된 진술 PDO도 사용하는 것이 좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ajax 및 PHP를 사용하여 mysql 데이터베이스에 입력을 업로드 할 수 없습니다.

분류에서Dev

PHP를 사용하여 mysql 데이터베이스에 데이터를 삽입 할 수 없습니다.

분류에서Dev

(PHP, AJAX, JQ)를 사용하여 MySQL 데이터베이스에 데이터를 삽입 할 수 없습니다.

분류에서Dev

SWIFT를 사용하여 데이터베이스 FMDB의 필드를 업데이트 할 수 없습니다.

분류에서Dev

MySQL 데이터베이스에서 데이터를 업데이트 할 수 없습니다.

분류에서Dev

AJAX를 사용하여 mysql 데이터베이스에 데이터를 삽입 할 수 없습니다.

분류에서Dev

PHP 및 MySql : 데이터베이스를 업데이트 할 수 없습니다.

분류에서Dev

쉘 스크립트를 사용하여 mysql 데이터베이스에 연결할 수 없습니다.

분류에서Dev

PHP mysqli_connect ()를 사용하여 MySQL 데이터베이스에 연결할 수 없습니다.

분류에서Dev

PHP를 사용하여 MYSQL 데이터베이스에 날짜와 시간을 삽입 할 수 없습니다.

분류에서Dev

Php를 사용하여 MYSQL 데이터베이스에 연결할 수 없습니다.

분류에서Dev

Jquery, PHP 및 AJAX를 사용하여 MySQL 테이블에 데이터를 삽입 할 수 없습니다.

분류에서Dev

PHP를 사용하여 MySQL 테이블에 데이터를 삽입 할 수 없습니다.

분류에서Dev

PHP를 사용하여 따옴표로 SQL 데이터베이스를 업데이트 할 수 없습니다.

분류에서Dev

PHP를 사용하여 postgres 데이터베이스를 업데이트 할 수 없습니다.

분류에서Dev

Java를 사용하여 VM에서 mysql 데이터베이스에 연결할 수 없습니다.

분류에서Dev

사용자는 PHP 양식을 사용하여 MySQL 데이터베이스의 정보를 업데이트 할 수 없습니다.

분류에서Dev

mysql 테이블에서 비트를 업데이트 할 수 없습니다.

분류에서Dev

PHP를 사용하여 JSON 파일에서 MYSQL 데이터베이스에 데이터를 추가 할 수 없습니다.

분류에서Dev

PHP를 사용하여 MySQL 데이터베이스에서 모든 데이터를 추출 할 수 없습니다.

분류에서Dev

생산 Laravel 증기를 사용하여 MySQL 데이터베이스에 연결할 수 없습니다

분류에서Dev

PHP 및 MySQL을 사용하여 데이터베이스에서 가져 오는 동안 중복 데이터를 피할 수 없습니다.

분류에서Dev

데이터베이스 jsp에 레코드를 삽입하거나 업데이트 할 수 없습니다.

분류에서Dev

PHP에서 mysql의 데이터를 업데이트 할 수 없습니다.

분류에서Dev

PHP에서 mysql의 데이터를 업데이트 할 수 없습니다.

분류에서Dev

MySQL 데이터베이스에 데이터를 삽입 할 수 없습니다.

분류에서Dev

$ .ajax () 함수를 사용하여 데이터베이스에서 레코드를 삭제할 수 없습니다.

분류에서Dev

XAMPP-> mysql에서 Java로 데이터베이스를 표시 할 수 없습니다.

분류에서Dev

mysql에서 PHP를 업데이트 할 수 없습니다.

Related 관련 기사

  1. 1

    Ajax 및 PHP를 사용하여 mysql 데이터베이스에 입력을 업로드 할 수 없습니다.

  2. 2

    PHP를 사용하여 mysql 데이터베이스에 데이터를 삽입 할 수 없습니다.

  3. 3

    (PHP, AJAX, JQ)를 사용하여 MySQL 데이터베이스에 데이터를 삽입 할 수 없습니다.

  4. 4

    SWIFT를 사용하여 데이터베이스 FMDB의 필드를 업데이트 할 수 없습니다.

  5. 5

    MySQL 데이터베이스에서 데이터를 업데이트 할 수 없습니다.

  6. 6

    AJAX를 사용하여 mysql 데이터베이스에 데이터를 삽입 할 수 없습니다.

  7. 7

    PHP 및 MySql : 데이터베이스를 업데이트 할 수 없습니다.

  8. 8

    쉘 스크립트를 사용하여 mysql 데이터베이스에 연결할 수 없습니다.

  9. 9

    PHP mysqli_connect ()를 사용하여 MySQL 데이터베이스에 연결할 수 없습니다.

  10. 10

    PHP를 사용하여 MYSQL 데이터베이스에 날짜와 시간을 삽입 할 수 없습니다.

  11. 11

    Php를 사용하여 MYSQL 데이터베이스에 연결할 수 없습니다.

  12. 12

    Jquery, PHP 및 AJAX를 사용하여 MySQL 테이블에 데이터를 삽입 할 수 없습니다.

  13. 13

    PHP를 사용하여 MySQL 테이블에 데이터를 삽입 할 수 없습니다.

  14. 14

    PHP를 사용하여 따옴표로 SQL 데이터베이스를 업데이트 할 수 없습니다.

  15. 15

    PHP를 사용하여 postgres 데이터베이스를 업데이트 할 수 없습니다.

  16. 16

    Java를 사용하여 VM에서 mysql 데이터베이스에 연결할 수 없습니다.

  17. 17

    사용자는 PHP 양식을 사용하여 MySQL 데이터베이스의 정보를 업데이트 할 수 없습니다.

  18. 18

    mysql 테이블에서 비트를 업데이트 할 수 없습니다.

  19. 19

    PHP를 사용하여 JSON 파일에서 MYSQL 데이터베이스에 데이터를 추가 할 수 없습니다.

  20. 20

    PHP를 사용하여 MySQL 데이터베이스에서 모든 데이터를 추출 할 수 없습니다.

  21. 21

    생산 Laravel 증기를 사용하여 MySQL 데이터베이스에 연결할 수 없습니다

  22. 22

    PHP 및 MySQL을 사용하여 데이터베이스에서 가져 오는 동안 중복 데이터를 피할 수 없습니다.

  23. 23

    데이터베이스 jsp에 레코드를 삽입하거나 업데이트 할 수 없습니다.

  24. 24

    PHP에서 mysql의 데이터를 업데이트 할 수 없습니다.

  25. 25

    PHP에서 mysql의 데이터를 업데이트 할 수 없습니다.

  26. 26

    MySQL 데이터베이스에 데이터를 삽입 할 수 없습니다.

  27. 27

    $ .ajax () 함수를 사용하여 데이터베이스에서 레코드를 삭제할 수 없습니다.

  28. 28

    XAMPP-> mysql에서 Java로 데이터베이스를 표시 할 수 없습니다.

  29. 29

    mysql에서 PHP를 업데이트 할 수 없습니다.

뜨겁다태그

보관