Php 保存序列化列中的每个值并将其格式化存储
例如,我有一列“兴趣”,其中一行包含Php 保存序列化列中的每个值并将其格式化存储,php,mysql,Php,Mysql,例如,我有一列“兴趣”,其中一行包含 $serializedResponse = a:2:{i:0;s:11:"Apple";i:1;s:7:"Pear";} 我想将值保存在php变量中,如: $formatedVariable = "(Apple%|Pear%)" 为什么?? 因为我想从json变量中获取一些名称,然后使用这些单词作为PHP/MySQL的搜索条件(类似于“(AA%| BBB%| CCC%”) 我知道我必须做: $unserializedReponse = unseriali
$serializedResponse = a:2:{i:0;s:11:"Apple";i:1;s:7:"Pear";}
我想将值保存在php变量中,如:
$formatedVariable = "(Apple%|Pear%)"
为什么??
因为我想从json变量中获取一些名称,然后使用这些单词作为PHP/MySQL的搜索条件(类似于“(AA%| BBB%| CCC%”)
我知道我必须做:
$unserializedReponse = unserialize($serializedResponse)
然后,对于数组中的每个值,将它们存储在一个带有格式化选项的新变量中,这样我就可以正确地使用搜索查询了。(某种程度上我无法理解)。非常感谢:) 假设$\u REQUEST等于$\u REQUEST='[“一个值”,“另一个值”] 这将把查询格式化为像“%a值%”这样的兴趣或像“%另一个值%”这样的兴趣
<?php
// init
include_once 'db.php'; // connects to db
// gets each keyword
$resultVariable = json_decode($_REQUEST[interests]); // get values to search (orginial: json file)
// sets query
$formatedVariable = "SELECT id,name FROM users WHERE city = '$_REQUEST[city]' AND interests LIKE '%".implode("%' OR interests LIKE '%", $resultVariable)."%'"; // create a search condition for every keyword
$sql = $conn->prepare($formatedVariable); // search from the query
$sql->execute(); // execute query
$array = $sql->fetchAll(); // response
print_r(json_encode($array));
$conn = null;
?>
假设$\u REQUEST等于$\u REQUEST='[“一个值”,“另一个值”]
这将把查询格式化为像“%a值%”这样的兴趣或像“%另一个值%”这样的兴趣
<?php
// init
include_once 'db.php'; // connects to db
// gets each keyword
$resultVariable = json_decode($_REQUEST[interests]); // get values to search (orginial: json file)
// sets query
$formatedVariable = "SELECT id,name FROM users WHERE city = '$_REQUEST[city]' AND interests LIKE '%".implode("%' OR interests LIKE '%", $resultVariable)."%'"; // create a search condition for every keyword
$sql = $conn->prepare($formatedVariable); // search from the query
$sql->execute(); // execute query
$array = $sql->fetchAll(); // response
print_r(json_encode($array));
$conn = null;
?>
您的问题到底是什么?在数组中使用变量作为查询中的搜索条件?就像在
中使用?是的,这可能会起作用$formattedvariable='('.introde('%|',$unserializedResponse)。'%')
但您可能也想引用这些值。您的问题是什么?使用数组中的变量作为查询中的搜索条件?就像在
中使用?是的,这可能会起作用$formattedvariable='('.introde('%|',$unserializedResponse)。'%')代码>但您可能也希望引用这些值。