十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
标准的方法是锁定数据库,你开始写数据的时候就独占方式锁定表,这时候其它用户(或者同一用户的其它进程)查询数据库会报错,直到你修改完毕后再解除表锁定。
创新互联是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括网站设计制作、成都网站建设、电商网站制作开发、微信小程序定制开发、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!
此外,还有一个更加完美一点的方法:增加TYPE字段的含义,1表示需要发送、2表示已经发送、3表示正在发送,你的程序每次只查询TYPE=1的来处理,处理之前整体修改TYPE=3(这个修改应该瞬间完成,而且一个UPDATE语句执行的时候MYSQL会自动锁定),然后慢慢发送和修改TYPE=2。
"user_log(删除股票,$user_id,$time,$jinbi);"===错误非常有可能就是在这里,数据更新后,再次执行应当放在判断外面,在里面的话发送的还是原来数据。。。
你好,这是我解决你这个问题的思路,希望能帮到你:比如你是根据a字段设置唯一,在每次插入之前就使用下一条需要插入的值去数据表里面查询,如果查询到了就跳出当前循环,下次循环继续(continue),希望能帮到你!
显然是你的数据有问题
如果只是你说的这些内容,你的代码是完全没有问题的
推测可能是时间不同,例如1和1分别是1月份和2月份的。
再有可能就是你重复插入了一次数据。
或者你到phpMyAdmin里看看原始数据是否正确
输出全部内容看看
echo "$row-sr/$row-srlx/$row-date/$row-person/$row-namebr/";
1.首先,题主应该选一个相似度的计算维度,比如content字段,type字段等;
2.其次,题主考虑一下各个字段的权重,比如type字段必须相同,则让type字段使用typeWeight(例如赋值0.8)作为乘积的因子,而content字段本身是比较长的,所以需要计算出一个hash值,比如使用特定算法计算出一个hash值,然后把这个hash值按照16进制计算得到10进制数,再给一个权重contentWeight(例如0.2),另外再选取一个字段,比如description描述字段,再给一个权重descriptionWeight...
3.最后得到一个当前插入到表中的记录综合hash,typeWeight(contentHashcontentWeight+descriptionHash*descriptionWeight
+...),可能会涉及到大整数计算,不过PHP有BCMATH扩展可以使用,最终得到一个数值的综合hash值,保存到数据库的一个字段中,这个东西就可以理解为本条记录的特征值。
能不能够优化一下你的代码行,我看着都眼花。
最好代码开始和结束之间不要加别的东西,会打断代码。
这样让别人无法阅读代码, 就更加无法找到错误在哪儿了。