Php json上有或在哪里?
我想用Php json上有或在哪里?,php,mysql,json,codeigniter,Php,Mysql,Json,Codeigniter,我想用json\u encode对存储在数据库中的json值进行“拥有”,这个值是波斯语单词,但没有进行“拥有”,如何修复它 行为: 行id 1:[“全部5”,“\u0648\u06cc\u0632\u0627 8”] 行id 2:[“全部5”,“\u0648\u06cc\u0632\u0627 7”] 行id 3:[“全部5”,“\u0648\u06cc\u0632\u0627 6”] 这是我的php代码:(输出它是:没有) $val='; $query=$this->db->query('S
json\u encode
对存储在数据库中的json值进行“拥有”,这个值是波斯语单词,但没有进行“拥有”,如何修复它
行
为:
行
id 1:[“全部5”,“\u0648\u06cc\u0632\u0627 8”]
行
id 2:[“全部5”,“\u0648\u06cc\u0632\u0627 7”]
行
id 3:[“全部5”,“\u0648\u06cc\u0632\u0627 6”]
这是我的php代码:(输出它是:没有)
$val=';
$query=$this->db->query('SELECT*来自行为“%”.$val.“%”的表);
如果($query->num\u rows()>0){
foreach($query->result()作为$val){
echo$val->name.“
”;
}
}否则{
呼应‘没有’;
}
更新:
Can where值“$val”,即数据库中带有json值的数字或拉丁语单词,但不能用于波斯语单词
例如,下面的代码有输出,并且是$query->num_rows()=3
$val='All5';
$query=$this->db->query('SELECT*来自行为“%”.$val.“%”的表);
如果($query->num\u rows()>0){
foreach($query->result()作为$val){
echo$val->name.“
”;
}
}否则{
呼应‘没有’;
}
您已将json字符串存储到数据库中。这样做只是将文本存储到数据库中
SQL是一种查询(或更多)数据库的语言,例如从数据库中选择文本字段
但是SQL不了解json,特别是LIKE关键字无法解析json,然后在其上应用它的常规、基于文本的模式匹配
您需要以纯文本(跨多列)存储数据,或者需要查询所有字段,然后使用PHP搜索数据
第三种选择是扩展数据库服务器以理解json,并提供一个函数,允许您搜索类似于LIKE的json编码数据
然而,事实上,您刚刚在数据库中创建了一个数据库,它的价格与您现在面临的选择所需数据的问题类似。亲爱的,您的问题不明确。我们无法理解实际的问题是什么?请尽量详细说明您的问题和问题您的数据库代码页/排序规则是什么?@user973254-collation=>utf8\u general\u ci,codepage???
显示变量,如“%char%代码>@user973254-我不明白你的目的!!!?这个值是chackbox,其中值json作为数字或拉丁单词为true,但对波斯语单词不起作用。你有什么切实可行的建议?请用代码给我举个例子。谢谢
$val = 'ویزا 8';
$query = $this->db->query('SELECT * FROM table HAVING row_s LIKE "%' . $val . '%"');
if ($query->num_rows() > 0) {
foreach ($query->result() as $val) {
echo $val->name . '<br>';
}
} else {
echo 'There is not';
}
$val = 'All5';
$query = $this->db->query('SELECT * FROM table HAVING row_s LIKE "%' . $val . '%"');
if ($query->num_rows() > 0) {
foreach ($query->result() as $val) {
echo $val->name . '<br>';
}
} else {
echo 'There is not';
}