国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
字符串在傳遞過程中發(fā)生了變化,字符串傳遞
首頁 php教程 php手冊 字符串在傳遞過程中發(fā)生了變化,字符串傳遞

字符串在傳遞過程中發(fā)生了變化,字符串傳遞

Jun 13, 2016 am 08:51 AM
傳遞 前端 變化 字元 字串 情況 輸入

字符串在傳遞過程中發(fā)生了變化,字符串傳遞

情況描述:

  前端輸入的內(nèi)容是:;?9W/U\|"s6u|:M

  然而傳遞到后端再保存到數(shù)據(jù)庫時就成了:;?9W/U|"s6u|:M

這是為什么呢?

  這是怎么回事呢?

  1:我發(fā)現(xiàn)在insert到數(shù)據(jù)庫之前都還是正確的

  2:然后單獨使用heidisql工具去更改這個值,它顯示的sql語句是:

<code><span class="sql1-reservedword">  UPDATE<span class="sql1-space"> <span class="sql1-delimitedidentifier">`bitstorm_http_node`<span class="sql1-symbol">.<span class="sql1-delimitedidentifier">`config_user_pwd`<span class="sql1-space"> <span class="sql1-reservedword">SET<span class="sql1-space"> <span class="sql1-delimitedidentifier">`Password`<span class="sql1-symbol">=<span class="sql1-string">';?9W/U\\|"s6u|:M'<span class="sql1-space"> <span class="sql1-reservedword">WHERE<span class="sql1-space">  <span class="sql1-delimitedidentifier">`Id`<span class="sql1-symbol">=<span class="sql1-number">14<span class="sql1-symbol">;
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>

  我們發(fā)現(xiàn)程序在insert操作之前,它在值中添加了轉(zhuǎn)義付去轉(zhuǎn)義特殊符號'\'

  可以究竟為什么會轉(zhuǎn)義?難道是字符串的單引號雙引號在作祟嗎?

  如果把字符放在單引號'之間,除了單引號本身'之外的絕大多數(shù)字符會解釋成和寫在代碼中一樣的形式。

  放在雙引號之間的字符串支持插入替換(內(nèi)嵌在字符串中的變量會被替換成其內(nèi)容),而且也會替換轉(zhuǎn)義字符,例如用換行符替換\n,用tab替換\t,\換成\\。同樣,\|它會解釋成|

  如果把上面的PHP中的代碼的sql置于單引號中,則會是無效的sql語句:

  Invalid query

  INSERT INTO `bitstorm_http_node`.`config_user_pwd` (`Id`, `Domain_Name`, `Username`, `Password`) VALUES (0, "mdc-mon-tg-zabvip01.ubisoft.onbe", "cheng.wang", ";?9W/U\|"s6u|:M");

解決辦法:

  在PHP中:并不是每一段被轉(zhuǎn)義的數(shù)據(jù)都要插入數(shù)據(jù)庫的,如果所有進入 PHP 的數(shù)據(jù)都被轉(zhuǎn)義的話,那么會對程序的執(zhí)行效率產(chǎn)生一定的影響,會產(chǎn)生性能問題。

  在運行時調(diào)用轉(zhuǎn)義函數(shù)(如 addslashes())更有效率。

  所以很明顯,這里插入數(shù)據(jù)庫我們需要轉(zhuǎn)義,所以在需要轉(zhuǎn)義的地方調(diào)用addslashes()函數(shù)來手動轉(zhuǎn)義即可

       <span>$pwd</span> = <span>addslashes</span>(<span>$pwd</span><span>);/<span><strong><span>/加這行代碼后保存到數(shù)據(jù)庫就對了,OK,解決問題
        </span></strong></span></span><span>if</span>(<span>$zabbixHelper</span>==<span>false</span><span>){
            </span><span>return</span> <span>$this</span>->returnError("Invalid input: Can not login zabbix using this username and password."<span>);
        }
        </span><span>$sql</span> = "INSERT INTO `bitstorm_http_node`.`config_user_pwd` (`Id`, `Domain_Name`, `Username`, `Password`) VALUES (0, '" . <span>$domainName</span> . "', '" . <span>$username</span> . "', '" . <span>$pwd</span> . "');"<span>;
        </span><span>$this</span>->callSqlQuery(<span>$sql</span>));

?

  最后,在PHP中,有時候json編碼后也需要轉(zhuǎn)義:

????? $parameters = addslashes(json_encode($args));

?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP與Vue:完美搭檔的前端開發(fā)利器 PHP與Vue:完美搭檔的前端開發(fā)利器 Mar 16, 2024 pm 12:09 PM

PHP與Vue:完美搭檔的前端開發(fā)利器在當(dāng)今網(wǎng)路快速發(fā)展的時代,前端開發(fā)變得愈發(fā)重要。隨著使用者對網(wǎng)站和應(yīng)用的體驗要求越來越高,前端開發(fā)人員需要使用更有效率和靈活的工具來創(chuàng)建響應(yīng)式和互動式的介面。 PHP和Vue.js作為前端開發(fā)領(lǐng)域的兩個重要技術(shù),搭配起來可以稱得上是完美的利器。本文將探討PHP和Vue的結(jié)合,以及詳細的程式碼範(fàn)例,幫助讀者更好地理解和應(yīng)用這兩

怎麼重複字串_python重複字串教程 怎麼重複字串_python重複字串教程 Apr 02, 2024 pm 03:58 PM

1.先開啟pycharm,進入到pycharm首頁。 2.然後新建python腳本,右鍵--點選new--點選pythonfile。 3.輸入一段字串,代碼:s="-"。 4.接著需要把字串裡面的符號重複20次,代碼:s1=s*20。5、輸入列印輸出代碼,代碼:print(s1)。 6.最後運行腳本,在最底部會看到我們的回傳值:-就重複了20次。

Go語言前端技術(shù)探秘:前端開發(fā)新視野 Go語言前端技術(shù)探秘:前端開發(fā)新視野 Mar 28, 2024 pm 01:06 PM

Go語言作為一種快速、高效的程式語言,在後端開發(fā)領(lǐng)域廣受歡迎。然而,很少有人將Go語言與前端開發(fā)聯(lián)繫起來。事實上,使用Go語言進行前端開發(fā)不僅可以提高效率,還能為開發(fā)者帶來全新的視野。本文將探討使用Go語言進行前端開發(fā)的可能性,並提供具體的程式碼範(fàn)例,幫助讀者更了解這一領(lǐng)域。在傳統(tǒng)的前端開發(fā)中,通常會使用JavaScript、HTML和CSS來建立使用者介面

PHP中int型別轉(zhuǎn)字串的方法詳解 PHP中int型別轉(zhuǎn)字串的方法詳解 Mar 26, 2024 am 11:45 AM

PHP中int型別轉(zhuǎn)字串的方法詳解在PHP開發(fā)中,常會遇到將int型別轉(zhuǎn)換為字串型別的需求。這種轉(zhuǎn)換可以透過多種方式實現(xiàn),本文將詳細介紹幾種常用的方法,並附帶具體的程式碼範(fàn)例來幫助讀者更好地理解。一、使用PHP內(nèi)建函數(shù)strval()PHP提供了一個內(nèi)建函數(shù)strval(),可以將不同類型的變數(shù)轉(zhuǎn)換為字串類型。當(dāng)我們需要將int型別轉(zhuǎn)換為字串型別時,

前端面試官常問的問題 前端面試官常問的問題 Mar 19, 2024 pm 02:24 PM

在前端開發(fā)面試中,常見問題涵蓋廣泛,包括HTML/CSS基礎(chǔ)、JavaScript基礎(chǔ)、框架和函式庫、專案經(jīng)驗、演算法和資料結(jié)構(gòu)、效能最佳化、跨域請求、前端工程化、設(shè)計模式以及新技術(shù)和趨勢。面試官的問題旨在評估候選人的技術(shù)技能、專案經(jīng)驗以及對行業(yè)趨勢的理解。因此,應(yīng)試者應(yīng)充分準(zhǔn)備這些方面,以展現(xiàn)自己的能力和專業(yè)知識。

Golang 字串修改詳解:動態(tài)調(diào)整與可變性 Golang 字串修改詳解:動態(tài)調(diào)整與可變性 Apr 08, 2024 pm 03:27 PM

GoLang中的字串雖然不可變,但可透過以下技術(shù)動態(tài)修改:使用字串連接符號連接字串。使用字串格式化建立新字串。修改字串底層位元組切片。使用第三方庫提供的可變字串類型。

Golang與前端技術(shù)結(jié)合:探討Golang如何在前端領(lǐng)域發(fā)揮作用 Golang與前端技術(shù)結(jié)合:探討Golang如何在前端領(lǐng)域發(fā)揮作用 Mar 19, 2024 pm 06:15 PM

Golang與前端技術(shù)結(jié)合:探討Golang如何在前端領(lǐng)域發(fā)揮作用,需要具體程式碼範(fàn)例隨著互聯(lián)網(wǎng)和行動應(yīng)用的快速發(fā)展,前端技術(shù)也愈發(fā)重要。而在這個領(lǐng)域中,Golang作為一門強大的後端程式語言,也可以發(fā)揮重要作用。本文將探討Golang如何與前端技術(shù)結(jié)合,以及透過具體的程式碼範(fàn)例來展示其在前端領(lǐng)域的潛力。 Golang在前端領(lǐng)域的角色作為一門高效、簡潔且易於學(xué)習(xí)的

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧 Mar 28, 2024 pm 03:02 PM

PHP字串操作:去除多餘逗號,保留唯一逗號實作技巧在PHP開發(fā)中,字串處理是一個非常常見的需求。有時候我們需要對字串進行處理,去除多餘的逗號,保留唯一的逗號。在這篇文章中,我將介紹一種實作技巧,並提供具體的程式碼範(fàn)例。首先,我們來看一個常見的需求:假設(shè)我們有一個包含多個逗號的字串,我們需要去除多餘的逗號,只保留唯一的逗號。例如,將"apple,ba

See all articles