【发布时间】:2014-01-10 03:17:18
【问题描述】:
我正在尝试在名为 all_ids 的字段中将类似数组的 id 添加到 mysql 中,该字段具有与用户关联的所有 id。当添加新 id 时,它应该更新 mysql 字段中的数组如果id已经存在,它不应该做任何事情并回显“找到匹配”。我正在使用php GET从android提供arraylist的值,它被解码为json。但我无法将数组中的所有用户添加到mysql。
非常感谢任何帮助。
提前致谢。
获取代码:
www.example.com\example?$id=[123,234,567,8910,11324,1]&sno=12
PHP 代码:
<?php
$sno=$_GET['sno'];
$id=$_GET['id'];
if (isset($id))
{
$query=mysql_query("SELECT all_ids FROM `user` where sno='$sno';");
$gamerow = mysql_fetch_array($query);
$playerlist = explode(",", $gamerow['all_ids']);
if( empty( $playerlist ) )
{
//empty array
}else{
$obj = json_decode($id);
foreach ($obj as $value) {
if (in_array($value, $playerlist))
{
echo "Match found";
mysql_query("UPDATE user SET all_ids=CONCAT_WS(',',all_ids, '$value') WHERE sno='$sno';");
}
else
{
mysql_query("INSERT INTO user( sno, all_ids ) VALUES ( $sno, $value);");
echo "Match not found";
}
}
}
}
?>
【问题讨论】:
-
考虑将 id 规范化到一个单独的表中。
-
我的回答告诉你规范化是如何工作的。