当字段包含URL编码字符串时,我无法从数据库中检索数据。
我的意思是,我的MySQLi数据库包含一个名为“artist_name”的字段,其中一些值包含URL编码的字符串,例如:
等
当我在PhpMyAdmin中搜索这些字段时,它会立即使用select语句找到它们:
SELECT * FROM `artists` WHERE `artist_name` LIKE 'Sonny+O'Brien';
但是,当我以编程方式尝试相同的操作时,从我的PHP脚本中,它不会返回任何结果:
$artist_name = "Sonny+O'Brien";
$sql = "SELECT * FROM artists WHERE artist_name LIKE '".$artist_name."'";
if ( $result = $mysqli->query( $sql ) ) {
$obj = $result->fetch_object();
}
没有结果。
我尝试在艺术家的名字上使用了addslashes(),并且我已经仔细检查了所有的值,并且我提供的正好与数据库中显示的一样。
我的SELECT查询无法识别URL转义字符串的任何想法吗?
编辑: (来自PhpMyAdmin的屏幕截图,显示我的数据按照描述存储,并且我的SELECT查询在PhpMyAdmin中工作,而不是从我的PHP脚本中工作)。