gpt4 book ai didi

php - 如何在 mysql 中检查哪个序列化数组包含我想要查找的值

转载 作者:行者123 更新时间:2023-11-29 23:04:48 24 4
gpt4 key购买 nike

我使用 php 序列化函数在 mysql 中存储许多数组。

但问题是,我如何找到包含序列化数组的任何一个值。

我很困惑如何获取包含我的值的数组。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>

<form method="get" action="test1.php">
<input type="text" name="first_singer"/><br>
<input type="text" name="second_singer"/><br>

<input type="submit" name="submit">

</form>
<?php
if(isset($_GET['submit'])){

$singer1=$_GET['first_singer'];
$singer2=$_GET['second_singer'];

$singer=array($singer1,$singer2);

$array=serialize( $singer );

$conn=mysqli_connect("localhost","root","","test2") or die();;
$array=serialize($singer);
$sql = "INSERT INTO `table` (`column`) VALUES ('$array')";
if(mysqli_query($conn,$sql)){
echo 'query susseful';
}
}
?>



</body>
</html>

最佳答案

首先,也许你必须改变你的方法。

您应该考虑为数据创建适当的表架构,而不是存储序列化数组。如果您确实需要存储这种数据结构,可能您必须考虑使用某种 NoSQL 数据库,例如 MongoDB,您可以将这种结构存储为 JSON。

但是可以访问您的数据,但它非常脏。您可以尝试使用 MySQL Like 来匹配您的项目。

例如,您有一个包含电子邮件和属于该名称的产品的数组,您可以执行以下操作:

从表中选择*,其中serialized_item如“%my@email.com%”;

然后您可以反序列化该数组并处理该项目。

但正如我所说,这不是一个好主意!

关于php - 如何在 mysql 中检查哪个序列化数组包含我想要查找的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com