将1,2,3,4的数字用逗号存储到数据库中

时间:2018-09-08 05:10:29

标签: php

我曾使用爆破函数将数组的值插入DB。

$day1=implode(',',$day);
echo "day:".$day1;

$ day的数组值为{100,100};现在我将其更改为要插入表中的100,100字符串。因为我无法将数组直接存储到表中。如果有任何选择而不是implode()可以将数组加载到数据库中,请发布。 否则请帮助我使用哪种数据类型存储在DB中。由于逗号,我无法使用int。

4 个答案:

答案 0 :(得分:1)

在使用MySQl的假设下,您应该使用TEXT数据类型,因为此数据类型不提供关于插入大小的假设。现在,当然,如果您要计算固定长度,可以随时使用varchar,但是由于数字的宽度未知,因此无论如何都必须进行总体计算。

https://dev.mysql.com/doc/refman/5.5/en/blob.html

将其存储为带有逗号分隔的数字的字符串是一种适当的存储格式,并且应该可以正常工作,因为您在处理数字时,在检索数据然后将值使用数组展开回数组时不会发生冲突。相同的逗号分隔符。

答案 1 :(得分:1)

implode()返回连接到单个字符串(http://php.net/manual/en/function.implode.php)的数组项。 您的数据库字段必须是文本类型(char,varchar,text)才能存储值。

答案 2 :(得分:0)

在这种情况下,您必须将数组转换为json并存储在db中。 例如:

$data=("a","b","c");
$json_encode=json_encode($data);

然后从数据库中检索出来后,转换回数组。

例如:

$json_decode=json_decode($data,true);

答案 3 :(得分:0)

$ array = array('lastname','email','phone');

$ comma_separated = implode(“,”,$ array);

echo $ comma_separated; //姓氏,电子邮件,电话

//使用空数组时为空字符串: var_dump(implode('hello',array())); //字符串(0)“”