从modal更新mysql记录时出现问题

从modal更新mysql记录时出现问题,mysql,twitter-bootstrap,pdo,Mysql,Twitter Bootstrap,Pdo,我在使用PDO将信息从引导模式更新到mysql数据库时遇到问题 我尝试过一种基本的静态方法,但它似乎不起作用。我点击“编辑”按钮触发模式,该模式显示表格中的信息,但当我更改课程标题时,即使代码似乎正确,它也不会做任何事情 以下是模式的代码: <div id="editModel" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" aria-hidden="true"> <

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

我尝试过一种基本的静态方法,但它似乎不起作用。我点击“编辑”按钮触发模式,该模式显示表格中的信息,但当我更改课程标题时,即使代码似乎正确,它也不会做任何事情

以下是模式的代码:

<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';
    }
    }
     ?>
有什么建议我可以克服这个问题吗


提前谢谢你

表单元素没有名称属性,因此它们可能没有提交到服务器:

<input type="text" class="form-control" id="course_title">
应该是:

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

所有表单元素都应采用相同的修复方法。

感谢您的快速响应。我已经将name属性添加到两个输入表单中,但这并没有实现effect@user90210:调试它。它具体在哪里失败?正在发出HTTP请求吗?它有你期望的价值吗?服务器的响应是什么?PHP日志中是否有错误?数据库正在更新吗?当您调试PHP代码时,它的行为与您期望的有什么不同?不要把整个事情当作一个黑箱。您拥有代码,您可以调试它。失败的部分是当我单击“更新”按钮时,它应该更新mysql数据库中的相应值,但它什么也不做。检查日志后,表单中会显示正确的值,但不会向数据库发送任何内容。也没有错误,这就是为什么它非常混乱的原因。谢谢你的建议。@user90210:好吧,看看那个捕捉块,我想你不能肯定地说没有错误。忽略包含错误的$e值,$message赋值会被注释掉,如果它后来被使用的话,我不知道,然后尝试赋值给echo,这要么是语法错误,要么就是什么都不做。因此,这段代码很可能忽略了一个错误。您对php文件的看法是正确的。我已经纠正了,因为它是一个模板,所以遗漏了一些东西。但是,即使进行了这些更改,控制台也没有发现任何错误:/