這裏首先我的問題在計算器PHP7 Yii2 MSSQL NonEnglish報價錯誤
MyEnvironment 我的環境 Centos7 Yii2.0.9 PHP7.0.9 MSSQL使用PDODBLib而且freetds的 連接正常表顯示正常(WHERE子句沒有) 我想了想PHP7是每一個好 但如果Where子句中存在不工作
調試/日誌選項卡顯示下圖:
SELECT COUNT(*) FROM [pw26] WHERE ([w26_kind]=7) AND ([w26_title] LIKE 0x25ed8c9c25)
之前PHP 5.6下方顯示:
SELECT COUNT(*) FROM [pw26] WHERE ([w26_kind]=7) AND ([w26_title] LIKE '%팜%')
只有它發生在非英語詞彙
我覺得這Yii2/DB/Schema.php
public function quoteValue($str)
{
if (!is_string($str)) {
return $str;
}
if (($value = $this->db->getSlavePdo()->quote($str)) !== false) {
return $value;
} else {
// the driver doesn't support quote (e.g. oci)
return "'" . addcslashes(str_replace("'", "''", $str), "\000\n\r\\\032") . "'";
}
}
頂級代碼更改如下圖所示
if (($value = $this->db->getSlavePdo()->quote($str)) !== false) {
Afer:
if (false) {
Finaly調試/日誌選項卡顯示下圖:
SELECT COUNT(*) FROM [pw26] WHERE ([w26_kind]=7) AND ([w26_title] LIKE '%팜%')
但是,仍然是數據不會出現。
在閱讀您的問題後,很難確定您的問題..請具體說明您的問題?和你想要執行什麼? –
我想使用php7但我不會因爲非英文引用錯誤 – micaz