【发布时间】:2021-04-25 05:59:39
【问题描述】:
我正在使用 utf8_encode 来确保我的用户的输入将特殊字符转换为我的 MYSQL 可以进行搜索的字符。 (我的数据库设置在 latin1_swedish.ci)。
当我回显我的查询时,我得到了一个完美的查询,我可以对我的 MYSQL 运行(并且我得到一个结果)。但是当我通过我的 PHP 执行相同的查询时,它就不起作用了。
$name = 'Widerøe';
$name = utf8_encode($name);
SELECT id FROM type WHERE name = '$name' LIMIT 1
SELECT id FROM type WHERE name = 'Widerøe' LIMIT 1
$data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT id FROM types WHERE name = '$name' LIMIT 1"));
$operator_id = $data['id'];
【问题讨论】:
-
您似乎只将查询放入您的 PHP 中,这不是 MySQL 在 PHP 中的工作方式。这是一个教程:mysqltutorial.org/php-mysql
-
我认为我正确地执行了查询,我将它添加到我的原始线程中!
-
如果你对一个已经在 utf8 中的字符串进行编码,你就是在销毁它......
-
我不明白,数据库中的值是 Widerøe 而不是 Widerøe。谢谢!