Php 从带有逗号的表中选取一个数据

Php 从带有逗号的表中选取一个数据,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一个带有第一个表的数据库,其中该表由3个字段组成,如下面的示例所示,但我不知道如何通过获取name字段中的一个数据来创建查询,该字段包含几个单词和 桌上学校 id | name | class -------------------------------------- 01 | smith, john, billy | III 02 | ana, jach, georgre | IV 控制器 //suppose I want to

我有一个带有第一个表的数据库,其中该表由3个字段组成,如下面的示例所示,但我不知道如何通过获取
name
字段中的一个数据来创建查询,该字段包含几个单词和

桌上学校

 id   |         name       |  class
--------------------------------------
 01   | smith, john, billy |   III
 02   | ana, jach, georgre |   IV
控制器

//suppose I want to take the data 'smith' on the field name
    $name = $this->input->post('name');
    $data = $this->models->get_name($name);
    $this->load->view('layout/wrapper', $data);
关于模型的示例查询

public function get_name($name){

    $sql = "SELECT * FROM school 
            WHERE name.name = '".$name."'";

    return $this->db->query($sql)->row_array();
}
使用
FIND_IN_SET()
函数完成此任务(以下是执行此任务的CI方法,而不是原始代码)

因此,现在当您发送
smith
时,它将返回第一行。

使用
FIND_IN_SET()
函数来完成此任务(以下是执行此操作的CI方法,而不是原始代码)

所以现在,当您发送
smith
时,它将返回第一行。

$sql=“选择*来自学校,名字在哪里?”

$query=$this->db->query($sql,%,”。$this->db->escape_-like_-str($name)。“,%”

这将从学校表返回字段,如果名称=',名称'

$sql=“选择*学校名称像什么?”

$query=$this->db->query($sql,%,”。$this->db->escape_-like_-str($name)。“,%”


这将从学校表返回字段,如果名称=',名称'

你应该使用数组。我认为是这样!显示预期结果请认为您可能需要更改存储数据的方式。每个名字都有一行,所以
01-smith-III,02-john-III
等等。这样,您就可以按名称和类选择行。U的可能重复项应该使用数组。我认为是这样!显示预期结果请认为您可能需要更改存储数据的方式。每个名字都有一行,所以
01-smith-III,02-john-III
等等。通过这种方式,您可以按名称和类选择行这可能是错误的:1)没有针对SQL注入的保护(
$name
直接来自
$\u POST
)2)您得到的结果与部分名称相匹配(`$name=='org')3)请解释您的代码…这是错误的:1)没有针对SQL注入的保护(
$name
直接来自
$\u POST
)2)您得到的结果与部分名称匹配(`$name==='org')3)请解释您的代码…谢谢@Rejoanul Alam我的问题已经解决。谢谢@Rejoanul Alam我的问题已经解决。
public function get_name($name){
    $query = $this->db->select('*')->from('school')->where('FIND_IN_SET(' . $name . ',name) > 0', NULL, FALSE)->get();
    return $query->row_array();
}