Php 如何使用mb_substr获取数据?
我可以在PHP中使用Php 如何使用mb_substr获取数据?,php,mysql,Php,Mysql,我可以在PHP中使用mb_substr来获取部分字符串,我的问题是我想在MySQL中使用这个函数来获取部分字段数据,我不想使用foreach来获取部分字段数据 我想在下面的代码中使用这个函数 subject是500个字符,我想从中获取150个字符,我的数据库是UTF-8,我的存储引擎是MyISAM $allContents = $db->loadAssoc( $db->setQuery("SELECT id , subject FROM contents ;") );
mb_substr
来获取部分字符串,我的问题是我想在MySQL中使用这个函数来获取部分字段数据,我不想使用foreach
来获取部分字段数据
我想在下面的代码中使用这个函数
subject
是500个字符,我想从中获取150个字符,我的数据库是UTF-8
,我的存储引擎是MyISAM
$allContents = $db->loadAssoc( $db->setQuery("SELECT id , subject FROM contents ;") );
if ( $allContents ){
$data['success'] = true;
$data['message'] = $allContents;
}
else{
$data['success'] = false;
}
我不喜欢使用这种方法:
$arr = array();
foreach ( $allContents as $value )
{
$topic['id'] = $value['id'];
$topic['subject'] = mb_substr($value['subject'],0,150,'UTF-8').' ... ';
$arr = $topic ;
}
我可以像这样在MySQL中使用
substr
吗
将查询修改为:
SELECT id, SUBSTRING(subject, 1, 150) FROM contents;
但由于您是从第一个角色开始,因此可以使用:
$query=mysql\u query(“设置名称UTF8”);
$sort_content=strlen($row['sort_content']);
如果($sort_content>260)
{
$sort=mb_substr($row['sort_content'],0260,“utf-8”);
}
elseif($sort\u内容
SELECT id, LEFT(subject, 150) FROM contents;
$query=mysql_query("SET NAMES UTF8");
$sort_content=strlen($row['sort_content']);
if($sort_content>260)
{
$sort = mb_substr($row['sort_content'],0,260, "utf-8"). '...';
}
elseif($sort_content<250)
{
$sort = mb_substr($row['sort_content'],0,250, "utf-8"). '';
}