我希望所有字符串数组连续插入数据库,然后在其他地方只选择它们的第一部分(字符串数组)并通过循环foreach显示它们(第一部分字符串数组)点。
我可以执行哪些功能[serialized
或implode
或json_encode
或?
]?你能举个例子吗?
示例:
data(strings array):
- “input name ='units []'”= value =>你好,怎么样,在哪里
- “input name ='units []'”= value =>嗨,什么,其他
醇>
我想要这个输出:
- 你好
- 喜
答案 0 :(得分:0)
正确的方法是使用'implode'并使用while
和一个mysql_fetch函数循环:
$units = $_REQUEST['units'];
$units = array_map( 'mysql_real_escape_string', $units );
mysql_query( "INSERT INTO <table name> VALUES('" .
implode("'),('", $units)."')" );
然后:
$q = mysql_query( 'select * from <table name>' );
while( $row = mysql_fetch_row( $q ) )
{
echo $row[0];
}
但有时,serialize
是更好的选择:
$units = $_REQUEST['units'];
$units = array_map( 'mysql_real_escape_string', $units );
mysql_query( "INSERT INTO <table name> VALUES('" .
serialize($units)."')" );
然后:
$q = mysql_query( 'select * from <table name>' );
while( $row = mysql_fetch_row( $q ) )
{
$units = unserialize( $row[0] );
}
var_dump($units); // use foreach here.