如何使用PHP从MySQL数据库中插入和检索数组值?

edw*_*tyl 3 php mysql sql arrays

所以我有一个PHP数组"$ shared",其值为[0,1,2](我只是以此为例).我想从我的MySQL数据库插入和检索这个数组,但它无法正常工作.

目前我正在使用此代码插入它:

mysqli_query($dbhandle, "INSERT INTO table (arraytest) VALUES ('$shared')");
Run Code Online (Sandbox Code Playgroud)

在上面的代码之后,'arraytest'列中'table'中的值是'Array'而不是[0,1,2],但是数组应该在MySQL数据库中看起来像.

将数组插入我的数据库后,我想检索它,并且我目前正在使用此代码:

$id='2';

$result = mysqli_query($dbhandle, "SELECT arraytest FROM table");

while ($row = mysqli_fetch_array($result)) {

$shared=$row{'arraytest'};

if(in_array($id, $shared)){

    echo 'Value is in the array. Success!';

}

}
Run Code Online (Sandbox Code Playgroud)

我在网上进行了一些研究,并没有找到一种方法来具体做到这一点.

我想将PHP数组()插入数据库中的表中的一个单元格中,然后我想从数据库中检索该数组,并检查我之前插入数据库的数组中是否有某个值.

PS我不是试图从数据库中检索整列数据作为数组.这是我在搜索答案时在谷歌上发现的,这不是我想要做的.

Exp*_*lls 5

我不得不质疑你为什么要这样做,但最简单的答案是序列化数组.

"INSERT INTO table (arraytest) VALUES ('" . serialize($shared) . "')"
Run Code Online (Sandbox Code Playgroud)

然后,您可以unserialize在从数据库中检索它时使用


您应该正确地参数化您的查询以防止注入或错误.