mysql插入数据不成功_mysql插入数据失败原因分析

今天在做一个项目时,就是把一个数据库里面的资料导入到另一个数据库里面。

想想很简单啊,就是用sql语句,把一个数据库里面数据select读取出来,然后循环update到另一个数据库里面。

其实操作起来也很简单的,但是中途出现了问题,100条左右的数据,总会有10来条数据导入失败,我不想浪费这些资源啊,还是想要这些数据,如实开始分析原因。

select查询数据库A里面的信息,print_f打印出来,完成正确,循环输出也正在,然后就是update插入到另一个数据了。看着看着我终于发现了原因。原因是这样的,update语句一般是这样写的

例如:

$sql = "INSERT INTO `wlsh_xh` (`title`, `content) VALUES ('{$title}', '{$content}')";

上述代码是插入标题和内容到数据库。代码肯定是没问题的,问题出现在变量$content上面。大家都知道,文章内容是千变万化的,特使是针对程序员类的文章,肯定会有很多的代码符合。例如有文章内容含以下符号:

/*此处省略一万字*/k,'a'=123/*此处也省略一万字*/

如果文章$content变量刚好包含上面的代码,那么替换成SQL语句就成了

INSERT INTO `wlsh_xh` (`title`, `content) VALUES ('{$title}', '/,'a'=123')

看到这条语句,我相信很多同学已经发现问题了,对的,由于后面$content变量包含了特殊字符,导致后面包含了三个字段的内容,当然是无法插入数据库了

程序员人生网站提供的解决思路是这样的,先把引号等特殊字符替换掉,插入数据库后再更新,步骤如下:

1、替换变量

$content=$content=str_replace("'","程序员人生",$content);//将引号替换成程序员人生

2、执行SQL语句插入数据

INSERT INTO `wlsh_xh` (`title`, `content) VALUES ('{$title}', '{$content}')

3、把“程序员人生”汉字替换成引号

UPDATE wlsh_xh SET content = REPLACE(content, "程序员人生", "'")

到这里就完成了,特殊字符如何插入数据的方法。更多精彩内容,请访问程序员人生网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目部署与服务配置

spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中&a…

mysql排序两位数_MySQL_Mysql row number()排序函数的用法和注意,虽然使用不多,但是也有情况 - phpStudy...

Mysql row number()排序函数的用法和注意虽然使用不多,但是也有情况是需要在mysql 里面写语句开发功能的。在sql server 使用惯了,习惯了使用row_number() 函数进行排序,但是mysql 确没有这样一个函数。然后找到了po主写的一篇 文章。通过变量…

UIView动画效果

UIView是iOS系统中界面元素的基础, 所有的界面元素都是继承自它.它本身完全由CoreAnimation来实现的.它真正的绘图部分,是由一个CALayer类来管理.UIView本身更像一个CALayer的管理器,访问它的跟绘图和坐标有关的相关属性. iOS的画面切换效果的API主要通过调用系统已定义的动画效…

mysql bin.000047_mysql-bin.0000X 日志文件处理

一、清除文件[rootjiucool var]# /usr/local/mysql/bin/mysql -u root -pEnter password: (输入密码)Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 264001Server version: 5.1.35-log Source distributionType ‘help;’ or ‘/h’…

向导页设计_向导设计模式

向导页设计我们都喜欢巫师……。 (我的意思是软件向导)。 我们总是很高兴跳到那些“下一步”按钮上,就像我们在我们的时髦的小鸡上跳舞一样。。。 因此,今天我们将您心爱的向导带入您的编码体验。 让我们跳入一个例子。 假设您要设…

Java第十天

线程间通讯: 多个线程在处理同一资源,但是任务却不同。 多生产者,多消费者的问题: if判断标记,只有一次,会导致不该运行的线程运行了。出现了数据错误的情况。 while判断标记,解决了线程获取执行…

使用Apache Drill深入研究当今的大数据

自2014年9月首次提供Beta版以来, Apache Drill一直在获得广泛的用户采用和社区动力。2015年5月发布了Drill的通用版本-Drill 1.0,此后,许多客户已在生产中部署和使用了Drill。 在此博客文章中,我将简要总结客户在Drill中发现的宝贵…

mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法

为方便维护MySQL,写了个脚本用以提供收集错误信息的接口。这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径。以下是全部相关代码:#!/usr/bin/env python2.7#-*- encoding: utf-8 -*-"""该模块用于…

微信小程序需要https后台的创业机会思考

最近比较关注微信小程序,而且微信小程序的后台必须强制要求https, https相对http成本要高很多了。 这里我感觉有2个商机 (1)提供https 中转服务器 ,按流量来收费 (2) 微信小程序https 云后台 对于很多人学…

aspx是什么语言_什么是网页

第一个问题,什么是网页?我们通常在网上浏览的所有网页都是网页,一个网站由一页到50页不等的网页组成,一些大型网站可能包含数千万页,是第一个打开网站的网站。这些页面被称为主页。专有名词:这里简要介绍网页、网站和主…

[Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建

一、前言 intel-iot-examples-datastore 是Intel提供用于所有Edison开发板联网存储DEMO所需要的服务器工程。该工程是基于nodejs和redis写成的一个简单的工程。针对nodejs和redis会在后面介绍。 It is a Node.js* application written using Express* (https://github.com/stro…

将Lucene搜索集成到应用程序中

本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中,您将了解Lucene。 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式。 此外,您将学习如何将Lucene Search集成到您自己的应用程序中,以…

mysql运算结果放入表中_MySQL表1新增数据,计算开始、结束日期之间所有时间,插入到表2中...

新建表c3#id设置自增量,kk是要同步的一些数据值,dd是开始时间,dde是结束时间CREATE TABLE c3 (id int(11) NOT NULL auto_increment PRIMARY KEY,kk varchar(255),dd datetime,dde datetime)新建表c4#id也设置自增量,kk是要同步…

git-svn — 让git和svn协同工作

git-svn — 让git和svn协同工作svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着…

longtext长度为0是什么意思_为什么 HashMap 中链表长度大于 8 才转化为红黑树?

Java 中的 HashMap 采用链表法来解决哈希冲突(HashMap 原理),即具有相同桶下标的键值对使用一个链表储存。当链表变长时,查找和添加(需要确定 key 是否已经存在)都需要遍历这个链表,速度会变慢。…

Ulink2 No Ulink Device found 解决办法

一、背景keil使用ULINK2调试的时候,提示"No Ulink Device found","error: flash download failed - Target DLL has cancelled" 。之前一直都OK,然后今天突然不行,插上的时候,"COM",&qu…

python图形界面教程_图形教程

python图形界面教程众所周知,我们可以借助Java库制作游戏,这些库为我们提供制作游戏所需的图形。 因此,今天我将开始一个关于Java图形的非常新的部分。 我之前曾发表过有关如何制作所得税计算器的文章 。 首先要满足一些先决条件:…

java创建树结构_Java学习之XML-017

如果想快速有效的学习,思想核心是“以建立知识体系为核心”,具体方法是“守破离”。反复练习直到熟练。————百战程序员1.0 XML1.1 XML 简介XML 指可扩展标记语言。XML 被设计用来传输和存储数据。1. 什么是XMLXML 指可扩展标记语言(EXten…

dll文件是什么

dll实际上是动态链接库的缩写,从windows1.0开始,动态链接库就是整个操作系统的基础,那么这有什么作用呢?在dos时代,程序员是通过编写程序来达到预期的目的的,每实现一个目的就需要编写一个程序,…

minecraft pythonapl_Substance PythonAPI入门案例

第一次在知乎发文,技术朋友们请多包涵。Substance Designer自去年夏天2018版推出Python API至今已有一年,从一开始的寒酸到现在的初成规模,官方的API库也随着版本的更新不断完善。目前网上(包括youtube)相关的教程甚少,即便是官方…