好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mysql語句如何插入含單引號或反斜杠的值詳解

mysql語句如何插入含單引號或反斜杠的值詳解

熱門標簽:淄博400電話申請 百度地圖標注后不顯示 電話機器人市場趨勢 昆明電信400電話辦理 電銷機器人 行業(yè) 俄國地圖標注app 南昌高頻外呼系統(tǒng)哪家公司做的好 溫州瑞安400電話怎么申請 電銷機器人各個細節(jié)介紹

前言

本文主要給大家介紹了關于mysql語句插入含單引號或反斜杠值的相關內容,下面話不多說了,來一起看看詳細的介紹吧

比如說有個表,它的結構是這個樣子的

CREATE TABLE `activity` (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `title` varchar(255) NOT NULL COMMENT '活動標題',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='活動表';

比如說往里面插入記錄,示例代碼如下:

$servername = "xxxxservername";
$port = 3306;
$username = "xxxusername";
$password = "xxxpwd";
$dbname = "xxxxxxdb";

// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password, $dbname, 8306);

// 檢測連接
if ($conn->connect_error) {
 die("connect failed: " . $conn->connect_error);
}

$item['title'] = 'happy new year!';
$sql = sprintf("INSERT INTO activity (title) VALUES ( '%s');", $item['title']);
var_dump($sql);
if ($conn->query($sql) === TRUE) {
	echo "insert success\n";
} else {
 echo "insert failed:" . $conn->error;
}

$conn->close(); 

這一段代碼執(zhí)行OK,沒啥問題。但是如果代碼里面的title變成happy valentine's day!就會報如下錯誤,提示你有語法錯誤:

insert failed:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's day!')' at line

因為INSERT INTO activity (title) VALUES ( 'happy valentine's day!');這個sql語句里面單引號不是成對的。

有時候會往數(shù)據(jù)庫里面插入一些用戶給的數(shù)據(jù),很可能會出現(xiàn)上面這種情況,那么該如何避免呢?

要對sql里面的特殊字符進行轉義。可以把$sql的那一行代碼改成如下這樣:

$sql = sprintf("INSERT INTO activity (title) VALUES ( '%s');", mysqli_real_escape_string($conn, $item['title']));

整個sql字符串實際上是這樣的:

INSERT INTO activity (title) VALUES ( 'happy valentine\'s day!');"

有時候還會出現(xiàn)一種問題: json_encode之后,里面的中文被轉成unicode碼,插入到mysql里面發(fā)現(xiàn)\被吃掉了。

比如說中文這兩個字的unicode碼是\u4e2d\u6587,但是有時候插到數(shù)據(jù)庫里反斜杠被吃掉了變成了u4e2du6587

看如下示例代碼:

$item['title'] = json_encode([
  'balbalbla' => '中文'
]);
$sql = sprintf("INSERT INTO activity (title) VALUES ( '%s');", $item['title']);

整個sql字符串實際上是這樣的:

INSERT INTO activity (title) VALUES ( '{"balbalbla":"u4e2du6587"}');

插入到數(shù)據(jù)庫里面,title這個字段的值就變成了{"balbalbla":"u4e2du6587"}

那是因為這里的\被當成轉義符了,實際上要對unicode碼的\再次轉義,這樣插入數(shù)據(jù)庫的才是對的

$item['title'] = json_encode([
  'balbalbla' => '中文'
]);
$sql = sprintf("INSERT INTO activity (title) VALUES ( '%s');", mysqli_real_escape_string($conn, $item['title']));

整個sql字符串實際上是這樣的:

INSERT INTO activity (title) VALUES ( '{\"balbalbla\":\"\\u4e2d\\u6587\"}');

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • PostgreSQL 中的單引號與雙引號用法說明
  • 解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題
  • 使用NotePad++錄制宏功能如何快速將sql搜索條件加上前后單引號
  • 關于Mysql查詢帶單引號及插入帶單引號字符串問題
  • sql語句中單引號,雙引號的處理方法
  • SQL中寫入包含有英文單引號“ '''' ”失敗問題深入詳解

標簽:吐魯番 安徽 葫蘆島 拉薩 洛陽 海口 嘉峪關 甘南

巨人網(wǎng)絡通訊聲明:本文標題《mysql語句如何插入含單引號或反斜杠的值詳解》,本文關鍵詞  mysql,語句,如何,插入,含單,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql語句如何插入含單引號或反斜杠的值詳解》相關的同類信息!
  • 本頁收集關于mysql語句如何插入含單引號或反斜杠的值詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 免费黄网页| 亚州精品国产女人水真多| 再深点灬舒服灬太大了灬爽灬深点 | www成人??| 亚洲国产一区在线精选| 吻胸揉屁股摸腿娇喘视频免费网站| 在线美女视频在线观看| 男下部进女下部激烈视频吧| 熟女作爱一区二区视频| 污污网站免费| 91人妻精品无码蜜臀| 337P日本欧洲亚洲大胆术96| 亚洲高清综合| 银杏视频高清免费完整版在线 | 亚洲色图色| 羞羞漫画在线入口| 同桌上课脱我内裤揉我胸| 校花被扒开双腿强行高潮| 免费无码又爽又刺激A片软件妖精 国产精品爆乳尤物99精品 | 欧美粗暴性video| 毛茸茸妇女体内汇编| 国产伦精品一区二区三区免费视频 | 成年美女黄网站色大免费观看软件 | 亚洲成精品动漫久久精久| 超污很黄很肉的电影在线观看| 91精品国产福利尤物免费| 农村妇女荡乳欲伦交换XXOO| 亚洲AV日韩AⅤ综合在线观看| 日本一线a视频免费观看| 91在线无码精品秘?国产阿朱| 天天躁夜夜躁av| 欧美一级高清片黑寡妇| 香港古装三级伦理电影| 宝贝好大好硬好爽还要Av视频| 12一13女人A片免老年| 看黄色一级电影| 我在香港遇见他高清完整版在线观看| 日本全身露裸无遮挡黄漫画| 国产精品久久久久久精品毛片爆乳| 国产 欧美 一区二区三区| 艹艹网|