簡體   English   中英

我如何在帶有雙引號的 php 查詢中使用 MsSQL Where CONTAINS?

[英]How can i use MsSQL Where CONTAINS inside a php query with double quotes?

我正在嘗試在 PHP 中創建一個 SQL 查詢,我在其中搜索包含帶通配符的特定字符串的搜索結果的列。 為此,我正在使用 CONTAINS,並且在 MsSQL 服務器上啟用了全文搜索。 在 MsSQL Management 中,我可以使用包含 function 的查詢,但在 PHP 文件中,由於使用了雙引號 (""),我無法使用它。

我的查詢如下所示:

"SELECT * FROM table1 WHERE CONTAINS ((col1, col2, col3, col4, col5, col6), '"*$query*"')"

查詢無法在 PHP 中運行,因為我在查詢中使用的雙引號包含 function ('" $query "')。

我如何轉義這些雙引號並能夠在 PHP 文件中運行此查詢?

我遇到的唯一錯誤,它並沒有真正讓任何事情變得更清楚。

SQLSTATE:42000 代碼:102 消息:[Microsoft][SQL 服務器的 ODBC 驅動程序 17][SQL Server]“0”附近的語法不正確。

@brombeer 的解決方案:

必須將'"*$query*"'更改為'\"*$query*\"' ,這有助於轉義 PHP 中的雙引號。因此查詢現在可以正常工作。

工作查詢:

"SELECT * FROM table1 WHERE CONTAINS ((col1, col2, col3, col4, col5, col6), '\"*$query*\"')";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM