mysql - 从模式更新 mysql 记录时遇到问题

标签 mysql twitter-bootstrap pdo

我在使用 PDO 将信息从 Bootstrap 模式更新到 mysql 数据库时遇到问题。

我尝试了基本的静态方法,但它似乎不起作用。我单击“编辑”按钮来触发显示表格中信息的模式,但是当我更改 course_title 时,即使代码看起来正确,它也不会执行任何操作。

这是模式的代码:

<div id="editModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title">Update Record: </h4>
        </div>
        <div class="modal-body">
            <p class="text-primary">Please make any changes and click 'update' to save or 'cancel' to return</p>
            <form id="updateForm" action="ManageCourses_UpdateSubmit.php" method="post">
                <div class="form-group">
                    <label for="course_code" class="control-label">Course Code:</label>
                    <input type="text" class="form-control" id="course_code" readonly="">
                </div>
                <div class="form-group">
                    <label for="course_title" class="control-label">Course Title:</label>
                    <input type="text" class="form-control" id="course_title">
                </div>
            </form>
        </div>
        <div class="modal-footer">
            <button id="cancel" type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
            <button id= "update" value="update" type="submit" class="btn btn-primary">Update</button>
        </div>
    </div>
</div>

PHP 代码:

    <?php

    if(!isset( $_POST['course_title'], $_POST['course_code']))
    {
echo = 'invalid data has been sent';
    }

     include "db_conx.php";

     try
    {
$db_conx = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

$db_conx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "UPDATE course_details SET course_title = :course_title,  
WHERE course_code = :course_code";
$stmt = $pdo->prepare($sql);                                  
$stmt->bindParam(':course_title', $_POST['course_title'], PDO::PARAM_STR);       
$stmt->bindParam(':course_code', $_POST['course_code'], PDO::PARAM_INT);   
$stmt->execute(); 

/*** success message ***/
echo = 'record updated';
    }
    catch(Exception $e)
   {
/*** fail message incase something went wrong ***/
        //$message = 'Unable to process your request. Please try again later';
echo = 'Unable to process your request. Please try again later';
    }
    }
     ?>

关于如何克服这个问题有什么建议吗?

提前谢谢您!

最佳答案

您的表单元素没有 name 属性,因此它们可能不会提交到服务器:

<input type="text" class="form-control" id="course_title">

应该是:

<input type="text" class="form-control" id="course_title" name="course_title">

(相同的修复应该应用于所有表单元素。)

关于mysql - 从模式更新 mysql 记录时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28787529/

相关文章:

php - PHP 中的 PDO STRINGIFY_FETCHES 和浮点值

mysql - Rails ActiveRecord 表索引 - 什么时候应该使用它们?

javascript - 如何在文本输入事件模糊时手动触发 BootStrap 验证

php - 尝试执行 INSERT 命令时 PDO 不起作用

mysql - MySql 中的 LIMIT 子句似乎不适用于 IN() 子查询

mysql - SQL 查询 - NOW() 上的联合

jquery - 悬停时的 CSS 样式子类

css - 仅在 Bootstrap 3 轮播上显示 3 个轮播指示器

php - Pdo 使用查询内的变量进行更新

php - MySQL 表名带有重音符号。通过 PDO 更新时出现无效的 utf8 字符串