相同的选择在控制台上工作,但在PHP中不工作
这让我很生气。 这是我现在正在使用的代码:相同的选择在控制台上工作,但在PHP中不工作,php,mysql,Php,Mysql,这让我很生气。 这是我现在正在使用的代码: <?php //open connection to mysql db $connection = mysqli_connect( "mysql.kit-series.net", "XXXXX", "XXXXXX", "kit_series_net" ) or die( "Error " . mysqli_error( $connection ) ); $connection->set_charset( "utf8" ); //fe
<?php
//open connection to mysql db
$connection = mysqli_connect( "mysql.kit-series.net", "XXXXX", "XXXXXX", "kit_series_net" ) or die( "Error " . mysqli_error( $connection ) );
$connection->set_charset( "utf8" );
//fetch table rows from mysql db
$nombre = $_POST['nombre'];
$select = "SELECT ID FROM wp_qnnpx4_posts WHERE post_type='tvshows' AND post_title = '" . $nombre . "'";
$result = $connection->query( utf8_encode( $select ) );
$result = $result->fetch_assoc();
$id = $result['ID'];
echo $select;
echo $id;
//close the db connection
mysqli_close( $connection );
除非处理非utf8字符串,否则不要使用utf8\u编码。从您的问题和评论可以看出,您完全使用UTF8(HTML、数据库、数据库连接、PHP文件编码),因此调用UTF8\u encode
不仅没有必要,而且会产生负面影响
正如在对以下项目的感谢性贡献中所述:
如果您的文本未在ISO-8859-1
中编码,则不需要此功能。如果文本已在UTF-8
中,则不需要此功能。事实上,将此函数应用于未在ISO-8859-1
中编码的文本很可能只会对该文本进行篡改
你说把它放在控制台上是什么意思???我不认为你可以通过浏览器控制台执行PHP代码…:您是否在HTML标题中将字符集设置为UTF-8,如…
?如果不是,则提交值的字符编码可能不是UTF-8并导致问题。数据库控制台MySQL来自PHPstorm。是的,HTML是UTF-8,就像我说的,如果我选择$select变量,它就是expect。但是如果您已经使用UTF-8,那么utf8\u encode()
将产生一种厌恶效果。你没有试过吗?另外,请确保您的编辑器已将PHP文件保存为UTF8编码。您完全正确,我只关注$select,而忘记了该编码。对我来说太蠢了。谢谢你的回复