这里首先我的问题在计算器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