提交

Python 的 MySQLdb 模块插入数据没有成功与 autocommit(自动提交)的关系

雨燕双飞 提交于 2020-02-29 06:16:13
欢迎大家访问我自己架的博客站点 码厩技术博客 ( Now : 码厩 http://www.markjour.com/ ) ! 用 MySQLdb 操作数据库,插入数据之后发现数据库中依然为空,不知原因为何。 开启 mysqld 的 log 设置项之后发现日志文档中更有执行 sql 语句,直接复制语句在客户端中执行也没有问题,那么为什么通过 MySQLdb 的插入全部没有结果呢? 我怀疑是 MySQLdb 的问题,在日志文件中仔细的看了一遍运行的所有sql 语句,在建立连接之后还运行了这句:set autocommit=0。这句话的嫌疑很大,因为这个涉及到一个语句提交执行的问题,而且对于 commit 我有点印象,好像以前学习 MySQLdb 的时候,特意注意到了这点。不管怎样,这就找准了关键字:MySQLdb autocommit 根据网上搜到的结果,可以大概了解到,MySQLdb 在连接后关闭了自动提交,自动提交对于 innodb 引擎很重要,没有这个设置,innodb 引擎就不会真正执行语句。 解决的办法: 1、语句末尾加上“COMMIT;” 2、运行完语句,至少在关闭数据库之前提交一下,如:conn.commit() 3、数据库连接建立之后,设置自动提交,如:conn.autocommit(1) 只是不知道为什么 innodb 会这样,可能是因为这是一个事务型数据库引擎

jquery -ajax 提交表单(form) 更换提交地址

风流意气都作罢 提交于 2019-12-01 18:33:23
原生态手写部分: <form id="myForm" name="searchForm" method="post"><input type="text" name="abc" value=""><input type="button" class='button' id="lastinput" value="确认提交"/></form> $(document).ready(function(){ $('#lastinput').click(function(){ var len= $('#mainTable').find('tr').length; if(len <2){ alert('请添加商品'); return false; }else{ $.ajax({ url:'<?php echo '/test_a.php';?>',//+keys, //后台处理程序 type:'post', //数据发送方式 //dataType:'json', //接受数据格式 data:$("#myForm").serialize(), success:function(msg) {if(msg==1){ // $('#lastinput').submit(); $("#myForm").attr("action", "/test.php").submit(); }else{ alert(