[英]Insert a Binary string into MYSQL varchar column
眾所周知,我們將使用mysql_query api將查詢發送到服務器,並且查詢將通過字符串作為參數傳遞。 而且我們將不得不在s_printf之類的C函數調用的mysql_query外部編寫字符串。
sprintf(buffer, “insert into table(describe) values(‘%s’)”, strA);
mysql_query(..., buffer);
The ‘describe’ is a VARCHAR(150).
在某些特殊情況下,我們的函數之一會將幾個C樣式字符串轉換為長字符串,並保留所有結尾的'\\ 0'以形成二進制文件,即以C形式將“ abc”和“ efg”轉換為“ abc \\ 0efg \\” 0”,當然還有給呼叫者的長度(在這種情況下為8)。 但是,out二進制絕對不能在上面的sprintf中用作strA,因為C函數將通過滿足第一個'\\ 0'來截斷字符串。
我們有什么特別的事情可以滿足我們的需求? 我們想將二進制文件插入定義為VARCHAR的列中。 我們試圖將所有的'\\ 0'真正地更改為'\\ 0',這看起來不錯,但是很費時間和代碼。 有沒有其他更簡便的方法?
提前致謝。
您應該使用mysql_real_escape_string()來轉義該字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.