在我的MySQL
数据库中,我有这个包含多位艺术家的表格。它们被放置在名为formated_name
的字段中,并返回strings
,例如Lady Gaga
,到目前为止一直很好。我想要实现的是它returns
ladygaga
所以我以后可以将它用于url
。我的整个功能看起来像这样:
public function artistname_get($artist_id)
{
$this->load->database();
$sql = "SELECT formated_name FROM artists WHERE artist_id = '".$artist_id."'";
$query = $this->db->query($sql);
$data = $query->result();
if($data) {
$this->response($data, 200);
} else {
$this->response(array('error' => 'Couldn\'t find any artist with that name!'), 404);
}
}
那我怎么能实现这个目标呢?
答案 0 :(得分:1)
尝试这种简单的方式。
删除字符串中的空格。
使用PHP
$string = 'Lady Ga ga';
$value=str_replace(' ','',$string);
echo strtolower($value);
使用 MySQL
$sql = "SELECT REPLACE( formated_name, " ", "" ) FROM artists WHERE artist_id = '".$artist_id."'";
答案 1 :(得分:0)
如果您不想使用php进行此操作,Mysql也会为此提供字符串函数。
ToLower功能:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lower
替换以替换空格:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
但是你还应该在php中使用url_encode和url_decode。否则你可能会遇到像“A& B”这样的艺术家的问题
答案 2 :(得分:0)
使用
str_replace() and `strtolower()`
删除空格并将字符串转换为小写。
答案 3 :(得分:0)
PHP版本:
$string = strtolower(str_replace(' ', '', $string));
答案 4 :(得分:0)
$artist_url = strtolower(str_replace(' ', '', $artist_formatted_name));
答案 5 :(得分:0)
$string = strtolower(str_replace(' ', '', $string));
答案 6 :(得分:0)
试试这个,
SELECT LOWER(REPLACE(formated_name, ' ', '')) AS formated_name
你要做的就是一起使用mysql函数 LOWER 和 REPLACE 来摆脱空格和大写字母
答案 7 :(得分:0)
尝试这样的事情......
<?php
$string = 'Lady Gaga';
$value=str_replace(' ','',$string);
echo strtolower($value);
?>
答案 8 :(得分:0)
如果你想把它放在URL中,你也应该从特殊字符等中清除它。
使用此函数将字符串转换为别名。
function toAlias ($string) {
return strtolower (preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $string)));
}