Javascript 使用Jquery/PHP/Mysql更新编辑的值

Javascript 使用Jquery/PHP/Mysql更新编辑的值,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,有人能帮助我使用jquery/php更新mysql数据库中的编辑值吗 我有三个按钮edit/save/cancel 当我点击编辑按钮时,跨度数据被推入输入文本,编辑按钮被替换为保存按钮 当我点击编辑按钮时,我将通过保存和取消按钮在文本框中获取跨度数据,但当我尝试使用保存按钮进行更新时,它不会在我的db和UI中更新 代码 <html> <head> <script src="https://ajax.googleapis.c

有人能帮助我使用jquery/php更新mysql数据库中的编辑值吗

我有三个按钮
edit/save/cancel

当我点击编辑按钮时,跨度数据被推入输入文本,编辑按钮被替换为保存按钮

当我点击编辑按钮时,我将通过保存和取消按钮在文本框中获取跨度数据,但当我尝试使用保存按钮进行更新时,它不会在我的db和UI中更新

代码

      <html>
        <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
        <script type="text/javascript"> 
function showdata()
{
    $.ajax({
        url:"pages/feeds.php",
        type:'post',
        async:false,
        data:{
            showtable:1
        },
        success:function(re){
            $('#showdata').html(re);
        }
    });
}


$('#orders').delegate('.editOrder','click',function(e){
            e.preventDefault(e); 
            var $li = $(this).closest('li');    $li.find('input.name').val($li.find('span.name').html());
            $li.addClass('edit');
        });
        $('#orders').delegate('.cancelEdit','click',function(e){
            e.preventDefault(e); 
            $(this).closest('li').removeClass('edit');
        });


        //Edit Code
        $('body').delegate('.edit','click',function(){
                var IdEdit = $(this).attr('ide');
                $.ajax({
                    url:"pages/feeds.php",
                    type:"post",
                    data:{
                        editvalue:1,
                        id:IdEdit
                    },
                    success:function(show)
                    {
                        $('#id').val(show.id);
                        $('#url1').val(show.url);
                    }
                });
        });
        //Ends

        //Update Starts
        $('.update').click(function(){
            var id = $('#id').val()-0;
            var urls = $('#url1').val();
                $.ajax({
                url:"pages/feeds.php",
                type:"post",
                async:false,
                data:{
                    update:1,
                    id:id,
                    upurls:urls
                },
                success:function(up)
                {
                    $('input[type=text]').val('');
                    showdata();
                },
                error:function(){
                    alert('error in updating');
                }

            });
        });
        //UPdate Ends

        </script>
        <style type="text/css">
            ul li .edit{
                display:none;
            }

            ul li.edit .edit{
                display:initial;
            }

            ul li.edit .noedit{
                display:none;
            }
        </style>
        </head>
        <body>
        <ul id="orders">
            <?php 
                $sql = "select * from demo";
                $result = mysql_query($sql);
                while($row = mysql_fetch_object($result))
                {
            ?>
                <li>
                    <span class="noedit name" value='<?php echo $row->id;?>'><?php echo $row->url;?></span>
                    <input id="url1" class="form-control edit name" value="<?php echo $row->id;?>"/>

                    <a ide='<?php echo $row->id;?>' id="edit" class='editOrder' href="#" style="display:block-inline;">EDIT</a>

                    <a idu='<?php echo $row->id;?>' id="update" class='update saveEdit' href='#' style='display:none;'>SAVE</a>

                    <a idd='<?php echo $row->id;?>'  id="delete" class='delete' href="#" style="display:block-inline;">DELETE</a>

                    <a idc='<?php echo $row->id;?>' id="cancel" class='cancelEdit edit' href='#' style='display:none;'>CANCEL</a>
                </li>
            <?php } ?>
            </ul>
        </body>
    </html>



    <?php 

    //Edit Starts
            if(isset($_POST['editvalue']))
            {
                $sql = "select * from deccan where id='{$_POST['id']}'";
                $row = mysql_query($sql);
                $rows = mysql_fetch_object($row);

                header("Content-type:text/x-json");
                echo json_encode($rows);
                exit();
            }
        //Ends

        //UPdate Starts
            if(isset($_POST['update']))
            {
                $sql = "
                    update deccan 
                    set 
                        url='{$_POST['upurls']}'
                    where id='{$_POST['id']}'
                ";
                $result = mysql_query($sql);
                if($result)
                {
                    //alert('success');
                    echo 'updated successfully';
                }
                else
                {
                    //alert('failed');
                    echo 'failed to update';
                }
            }
    ?>

函数showdata()
{
$.ajax({
url:“pages/feeds.php”,
类型:'post',
async:false,
数据:{
附表:1
},
成功:功能(re){
$('#showdata').html(re);
}
});
}
$('#orders')。委托('.editOrder','click',函数(e){
e、 防止违约(e);
var$li=$(this.closest('li');$li.find('input.name').val($li.find('span.name').html());
$li.addClass(“编辑”);
});
$('#orders')。委托('.cancelEdit','click',函数(e){
e、 防止违约(e);
$(this).closest('li').removeClass('edit');
});
//编辑代码
$('body').delegate('.edit','click',function(){
var IdEdit=$(this.attr('ide');
$.ajax({
url:“pages/feeds.php”,
类型:“post”,
数据:{
编辑值:1,
id:IdEdit
},
成功:功能(显示)
{
$('#id').val(show.id);
$('#url1').val(show.url);
}
});
});
//结束
//更新开始
$('.update')。单击(函数(){
var id=$('#id').val()-0;
var url=$('#url1').val();
$.ajax({
url:“pages/feeds.php”,
类型:“post”,
async:false,
数据:{
更新:1,,
id:id,
upurl:url
},
成功:功能(up)
{
$('input[type=text]').val('');
showdata();
},
错误:函数(){
警报(“更新错误”);
}
});
});
//更新结束
ulli.编辑{
显示:无;
}
ul li.edit.edit{
显示:首字母;
}
ul li.edit.noedit{
显示:无;
}

  • 我通常会有两个脚本(.php)文件

    一个用于显示表单,另一个用于捕获提交(可能通过ajax)

    您可以在同一个.php文件中包含这两个文件,但在输出任何文本之前,您需要检查是否有任何POST数据要处理

    如果你有两个文件

    查看文件:

    <html>
    <body>
    <form method="POST" action="path/to/formname_submit.php">
      your form fields go here
      <input name="somefield"/>
      ...
    </form>
    <script>
     //your jquery code
     .... 
    
    </script>
    <body>
    </html>
    
    
    您的表单字段位于此处
    ...
    //您的jquery代码
    .... 
    
    提交文件

    <?php
      if (empty($_POST['id'])){
         die("no ID");
      };
      if (empty($_POST['editvalue'])){
         die("no editvalue");
      }
    
      //get a database connection
      $db = mysqli(DBHOST,DBUSER,DBPASS,DBNAME);
      $db->set_charset("utf8");
      // read in the POST data
      //should do some more validation / anti SQL injection
        $editvalue = $db->escape_string($_POST['editvalue']);
        $id = intval($_POST['id']); 
    
      $sql = "UPDATE sometable SET `field` = '$editvalue' WHERE id=$id";
    
      if ($db->query($sql)){
          echo 'Success';
      }
      else {
         echo 'UPDATE ERROR:'.$db->errno.': '.$db->error;
      }
    

    好的。我仍然缺少您提供的以下代码,因此您必须自己添加这些代码:

    • $('#id').val(text.id)所需的带有参数
      id=“id”
      的HTML元素
    • $('#url1').val(text.url)所需的带有参数
      id=“url1”
      的HTML元素
    • JS函数
      showdata()的PHP响应代码
      inside
      feeds.php
    因为我这里没有你的数据库,所以我无法测试代码。它应该可以正常工作,但如果有什么问题,请告诉我:

    PHP文件:index.PHP

    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    ?>
    
    <!DOCTYPE HTML>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
    
            <!-- CSS resources -->
            <link rel="stylesheet" type="text/css" href="style.css">
    
            <!-- Javascript resources -->
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
            <script src="main.js"></script>
    
            <title>Update Script</title>
        </head>
        <body>
            <ul id="orders">
                <?php
    
                // Instantiate database
                $db = new Database;
    
                // Try getting data from database
                Try {
                    // Query
                    $db->query("SELECT * FROM demo");
    
                    // Get results
                    $data = $db->resultset();
    
                    // Echo reults
                    foreach($data as $row){ ?>
    
                        <li>
                            <span class="noedit name" value="<?php echo $row['id']; ?>"><?php echo $row['url']; ?></span>
                            <input id="url1" class="form-control edit name" value="<?php echo $row['id']; ?>" />
    
                            <a data-ide="<?php echo $row['id']; ?>" class='editOrder' href="#" style="display:block-inline;">EDIT</a>
                            <a data-idu="<?php echo $row['id']; ?>" class='update saveEdit' href='#' style='display:none;'>SAVE</a>
                            <a data-idd="<?php echo $row['id']; ?>" class='delete' href="#" style="display:block-inline;">DELETE</a>
                            <a data-idc="<?php echo $row['id']; ?>" class='cancelEdit edit' href='#' style='display:none;'>CANCEL</a>
                        </li>
    
                    <?php }
    
                //Catch any database errors
                } Catch(PDOException $e){
                    echo "Database error:". $e->getMessage();
                }
    
                ?>
            </ul>
        </body>
    </html>
    
    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    // Instantiate database
    $db = new Database;
    
    // Edit
    if(isset($_POST['editvalue']) && $_POST['editvalue'] == 1){
    
        // Try getting data from database
        Try {
            // Query
            $db->query("SELECT * FROM deccan WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":id", $_POST['id']);
    
            // Get result
            $data = $db->single();
    
            // Set header JSON
            header("Content-type:text/x-json");
    
            // Return result
            echo json_encode($rows);
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['update']) && $_POST['update'] == 1){
    
        // Try updating data in database
        Try {
            // Query
            $db->query("UPDATE deccan SET url = :url WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":url", $_POST['upurls']);
            $db->bind(":id", $_POST['id']);
    
            // Execute Query
            $db->execute();
    
            // Return succes
            echo 'updated successfully';
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['showtable']) && $_POST['showtable'] == 1){
    
        /*
            This part was not included in your code, so write it
            yourself using above data as examples
        */
    }
    
    ?>
    
    <?php
    
    Class Database {
        private $host = DB_HOST;
        private $user = DB_USER;
        private $pass = DB_PASS;
        private $dbname = DB_NAME;
    
        private $dbh;
        private $error;
    
        private $stmt;
    
        public function __construct(){
            // Set DSN
            $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
            // Set options
            $options = array(
                PDO::ATTR_PERSISTENT    => true,
                PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
            );
            // Create a new PDO instanace
            try{
                $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
            }
            // Catch any errors
            catch(PDOException $e){
                $this->error = $e->getMessage();
                return $this->error;
            }
        }
    
        public function query($query){
            $this->stmt = $this->dbh->prepare($query);
        }
    
        public function bind($param, $value, $type = null){
            if (is_null($type)) {
                switch (true) {
                    case is_int($value):
                        $type = PDO::PARAM_INT;
                        break;
                    case is_bool($value):
                        $type = PDO::PARAM_BOOL;
                        break;
                    case is_null($value):
                        $type = PDO::PARAM_NULL;
                        break;
                    default:
                        $type = PDO::PARAM_STR;
                }
            }
            $this->stmt->bindValue($param, $value, $type);
        }
    
        public function execute(){
            return $this->stmt->execute();
        }
    
        public function column(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_COLUMN);
        }
    
        public function resultset(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
        }
    
        public function single(){
            $this->execute();
            return $this->stmt->fetch(PDO::FETCH_ASSOC);
        }
    
        public function rowCount(){
            return $this->stmt->rowCount();
        }
    
        public function lastInsertId(){
            return $this->dbh->lastInsertId();
        }
    
        public function beginTransaction(){
            return $this->dbh->beginTransaction();
        }
    
        public function endTransaction(){
            return $this->dbh->commit();
        }
    
        public function cancelTransaction(){
            return $this->dbh->rollBack();
        }
    
        public function debugDumpParams(){
            return $this->stmt->debugDumpParams();
        }
    }
    
    ?>
    
    CSS文件:style.CSS

    $('#orders').delegate('.editOrder','click',function(e){
        e.preventDefault();
    
        var $li = $(this).closest('li');
    
        $li.find('input.name').val($li.find('span.name').html());
        $li.addClass('edit');
    });
    
    $('#orders').delegate('.cancelEdit','click',function(e){
        e.preventDefault(); 
        $(this).closest('li').removeClass('edit');
    });
    
    //Edit Code
    $('body').delegate('.edit','click',function(){
        var IdEdit = $(this).attr('data-ide');
    
        $.ajax({
            url: "pages/feeds.php",
            type: "POST",
            data: 'editvalue=1&id='+IdEdit,
            success: function(text){
                $('#id').val(text.id);
                $('#url1').val(text.url);
            }
        });
    });
    
    //Update Code
    $('.update').click(function(){
        var id = $('#id').val()-0;
        var urls = $('#url1').val();
    
        $.ajax({
            url: "pages/feeds.php",
            type: "POST",
            async: false,
            data: 'update=1&id='+id+'&upurls='+urls,
            success: function(text){
                $('input[type=text]').val('');
                showdata();
            },
            error:function(){
                alert('Error in updating');
            }
        });
    });
    
    function showdata(){
        $.ajax({
            url: "pages/feeds.php",
            type: "POST",
            async: false,
            data: 'showtable=1',
            success:function(text){
                $('#showdata').html(text);
            }
        });
    }
    
    ul li .edit{
        display:none;
    }
    
    ul li.edit .edit{
        display:initial;
    }
    
    ul li.edit .noedit{
        display:none;
    }
    
    PHP文件:feeds.PHP

    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    ?>
    
    <!DOCTYPE HTML>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
    
            <!-- CSS resources -->
            <link rel="stylesheet" type="text/css" href="style.css">
    
            <!-- Javascript resources -->
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
            <script src="main.js"></script>
    
            <title>Update Script</title>
        </head>
        <body>
            <ul id="orders">
                <?php
    
                // Instantiate database
                $db = new Database;
    
                // Try getting data from database
                Try {
                    // Query
                    $db->query("SELECT * FROM demo");
    
                    // Get results
                    $data = $db->resultset();
    
                    // Echo reults
                    foreach($data as $row){ ?>
    
                        <li>
                            <span class="noedit name" value="<?php echo $row['id']; ?>"><?php echo $row['url']; ?></span>
                            <input id="url1" class="form-control edit name" value="<?php echo $row['id']; ?>" />
    
                            <a data-ide="<?php echo $row['id']; ?>" class='editOrder' href="#" style="display:block-inline;">EDIT</a>
                            <a data-idu="<?php echo $row['id']; ?>" class='update saveEdit' href='#' style='display:none;'>SAVE</a>
                            <a data-idd="<?php echo $row['id']; ?>" class='delete' href="#" style="display:block-inline;">DELETE</a>
                            <a data-idc="<?php echo $row['id']; ?>" class='cancelEdit edit' href='#' style='display:none;'>CANCEL</a>
                        </li>
    
                    <?php }
    
                //Catch any database errors
                } Catch(PDOException $e){
                    echo "Database error:". $e->getMessage();
                }
    
                ?>
            </ul>
        </body>
    </html>
    
    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    // Instantiate database
    $db = new Database;
    
    // Edit
    if(isset($_POST['editvalue']) && $_POST['editvalue'] == 1){
    
        // Try getting data from database
        Try {
            // Query
            $db->query("SELECT * FROM deccan WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":id", $_POST['id']);
    
            // Get result
            $data = $db->single();
    
            // Set header JSON
            header("Content-type:text/x-json");
    
            // Return result
            echo json_encode($rows);
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['update']) && $_POST['update'] == 1){
    
        // Try updating data in database
        Try {
            // Query
            $db->query("UPDATE deccan SET url = :url WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":url", $_POST['upurls']);
            $db->bind(":id", $_POST['id']);
    
            // Execute Query
            $db->execute();
    
            // Return succes
            echo 'updated successfully';
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['showtable']) && $_POST['showtable'] == 1){
    
        /*
            This part was not included in your code, so write it
            yourself using above data as examples
        */
    }
    
    ?>
    
    <?php
    
    Class Database {
        private $host = DB_HOST;
        private $user = DB_USER;
        private $pass = DB_PASS;
        private $dbname = DB_NAME;
    
        private $dbh;
        private $error;
    
        private $stmt;
    
        public function __construct(){
            // Set DSN
            $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
            // Set options
            $options = array(
                PDO::ATTR_PERSISTENT    => true,
                PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
            );
            // Create a new PDO instanace
            try{
                $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
            }
            // Catch any errors
            catch(PDOException $e){
                $this->error = $e->getMessage();
                return $this->error;
            }
        }
    
        public function query($query){
            $this->stmt = $this->dbh->prepare($query);
        }
    
        public function bind($param, $value, $type = null){
            if (is_null($type)) {
                switch (true) {
                    case is_int($value):
                        $type = PDO::PARAM_INT;
                        break;
                    case is_bool($value):
                        $type = PDO::PARAM_BOOL;
                        break;
                    case is_null($value):
                        $type = PDO::PARAM_NULL;
                        break;
                    default:
                        $type = PDO::PARAM_STR;
                }
            }
            $this->stmt->bindValue($param, $value, $type);
        }
    
        public function execute(){
            return $this->stmt->execute();
        }
    
        public function column(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_COLUMN);
        }
    
        public function resultset(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
        }
    
        public function single(){
            $this->execute();
            return $this->stmt->fetch(PDO::FETCH_ASSOC);
        }
    
        public function rowCount(){
            return $this->stmt->rowCount();
        }
    
        public function lastInsertId(){
            return $this->dbh->lastInsertId();
        }
    
        public function beginTransaction(){
            return $this->dbh->beginTransaction();
        }
    
        public function endTransaction(){
            return $this->dbh->commit();
        }
    
        public function cancelTransaction(){
            return $this->dbh->rollBack();
        }
    
        public function debugDumpParams(){
            return $this->stmt->debugDumpParams();
        }
    }
    
    ?>
    
    
    
    PHP文件:pdo.class.PHP

    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    ?>
    
    <!DOCTYPE HTML>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
    
            <!-- CSS resources -->
            <link rel="stylesheet" type="text/css" href="style.css">
    
            <!-- Javascript resources -->
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
            <script src="main.js"></script>
    
            <title>Update Script</title>
        </head>
        <body>
            <ul id="orders">
                <?php
    
                // Instantiate database
                $db = new Database;
    
                // Try getting data from database
                Try {
                    // Query
                    $db->query("SELECT * FROM demo");
    
                    // Get results
                    $data = $db->resultset();
    
                    // Echo reults
                    foreach($data as $row){ ?>
    
                        <li>
                            <span class="noedit name" value="<?php echo $row['id']; ?>"><?php echo $row['url']; ?></span>
                            <input id="url1" class="form-control edit name" value="<?php echo $row['id']; ?>" />
    
                            <a data-ide="<?php echo $row['id']; ?>" class='editOrder' href="#" style="display:block-inline;">EDIT</a>
                            <a data-idu="<?php echo $row['id']; ?>" class='update saveEdit' href='#' style='display:none;'>SAVE</a>
                            <a data-idd="<?php echo $row['id']; ?>" class='delete' href="#" style="display:block-inline;">DELETE</a>
                            <a data-idc="<?php echo $row['id']; ?>" class='cancelEdit edit' href='#' style='display:none;'>CANCEL</a>
                        </li>
    
                    <?php }
    
                //Catch any database errors
                } Catch(PDOException $e){
                    echo "Database error:". $e->getMessage();
                }
    
                ?>
            </ul>
        </body>
    </html>
    
    <?php
    // Include PDO class
    include_once("pdo.class.php");
    
    // Database connection settings
    define("DB_HOST", "localhost");
    define("DB_USER", "username");
    define("DB_PASS", "password");
    define("DB_NAME", "database");
    
    // Instantiate database
    $db = new Database;
    
    // Edit
    if(isset($_POST['editvalue']) && $_POST['editvalue'] == 1){
    
        // Try getting data from database
        Try {
            // Query
            $db->query("SELECT * FROM deccan WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":id", $_POST['id']);
    
            // Get result
            $data = $db->single();
    
            // Set header JSON
            header("Content-type:text/x-json");
    
            // Return result
            echo json_encode($rows);
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['update']) && $_POST['update'] == 1){
    
        // Try updating data in database
        Try {
            // Query
            $db->query("UPDATE deccan SET url = :url WHERE id = :id");
    
            // Prepare POST data (to prevent SQL injection)
            $db->bind(":url", $_POST['upurls']);
            $db->bind(":id", $_POST['id']);
    
            // Execute Query
            $db->execute();
    
            // Return succes
            echo 'updated successfully';
        } Catch(PDOException $e){
            echo "Database error:". $e->getMessage();
        }
    } else if(isset($_POST['showtable']) && $_POST['showtable'] == 1){
    
        /*
            This part was not included in your code, so write it
            yourself using above data as examples
        */
    }
    
    ?>
    
    <?php
    
    Class Database {
        private $host = DB_HOST;
        private $user = DB_USER;
        private $pass = DB_PASS;
        private $dbname = DB_NAME;
    
        private $dbh;
        private $error;
    
        private $stmt;
    
        public function __construct(){
            // Set DSN
            $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
            // Set options
            $options = array(
                PDO::ATTR_PERSISTENT    => true,
                PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
            );
            // Create a new PDO instanace
            try{
                $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
            }
            // Catch any errors
            catch(PDOException $e){
                $this->error = $e->getMessage();
                return $this->error;
            }
        }
    
        public function query($query){
            $this->stmt = $this->dbh->prepare($query);
        }
    
        public function bind($param, $value, $type = null){
            if (is_null($type)) {
                switch (true) {
                    case is_int($value):
                        $type = PDO::PARAM_INT;
                        break;
                    case is_bool($value):
                        $type = PDO::PARAM_BOOL;
                        break;
                    case is_null($value):
                        $type = PDO::PARAM_NULL;
                        break;
                    default:
                        $type = PDO::PARAM_STR;
                }
            }
            $this->stmt->bindValue($param, $value, $type);
        }
    
        public function execute(){
            return $this->stmt->execute();
        }
    
        public function column(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_COLUMN);
        }
    
        public function resultset(){
            $this->execute();
            return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
        }
    
        public function single(){
            $this->execute();
            return $this->stmt->fetch(PDO::FETCH_ASSOC);
        }
    
        public function rowCount(){
            return $this->stmt->rowCount();
        }
    
        public function lastInsertId(){
            return $this->dbh->lastInsertId();
        }
    
        public function beginTransaction(){
            return $this->dbh->beginTransaction();
        }
    
        public function endTransaction(){
            return $this->dbh->commit();
        }
    
        public function cancelTransaction(){
            return $this->dbh->rollBack();
        }
    
        public function debugDumpParams(){
            return $this->stmt->debugDumpParams();
        }
    }
    
    ?>
    
    
    
    您知道php中的mysql扩展不受欢迎吗?如果您想更新db中的值,请尝试使用ajaxSo,您自己做了哪些尝试?到目前为止,我所看到的只是其他一切的代码。但与你希望实现的目标无关?请记住,dat堆栈溢出不是为您完成工作的。如果你对自己尝试过的任何东西有任何问题,我们都会在这里。@ravenanigam谢谢你!!我在使用Ajax,我重新编辑了我的code@icecub我已经重新编辑了我的代码,当我点击编辑按钮时,我将使用保存和取消按钮在我的文本框中获取跨度数据,但当我尝试使用保存按钮进行更新时,它不会在我的db和UI中更新。感谢您的帮助