当我使用非英语语言时,我在PHP中遇到MySQL查询问题,它总是返回0行。该查询非常简单,这是相关的代码段。
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT ID, post_content FROM udhay.posts WHERE post_content = 'இ'";
$query = $conn->query($sql);
if ($query->num_rows > 0) {
// output data of each row
while ($row = $query->fetch_assoc()) {
print_R($row);die;
}
} else {
echo "0 results \n\n";
}
你能找到的唯一奇怪的事情是WHERE条件是泰米尔语。
我检查了MySQL错误日志,发现正确的查询已经执行并再次直接在MySQL中尝试该查询,并且它工作正常。此外,我尝试了一些英文字母和单词,它完全正常,没有任何问题。
版本信息:
MySQL:
mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
PHP:
PHP 5.6.28 (cli) (built: Dec 22 2016 01:56:27)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
对此或解决方案的任何线索都非常棒。