我在这里要完成的是将firstname,lastname组合分开存储在数据库中。我已经在数据库中添加了新列来保存名字和姓氏。我现在需要做的是实际分离它们并针对更改运行SQL更新。
有人可以帮我一把吗?感谢。
这是我的代码
<?php
$link = mysql_connect('localhost', 'root', '');
mysql_select_db("test",$link);
$sql = "SELECT * FROM new_users";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result))
{
$foo[] = $row;
}
foreach($foo as $name)
{
$_name[] = explode(',',$name['Name']);
$_pan[] = $name['PANumber'];
}
foreach($_pan as $pan)
{
foreach($_name as $name)
{
echo'<pre>';
print_r($pan);
echo'</pre>';
}
}
答案 0 :(得分:5)
如果我理解你的问题,你有一个名为“第一个,最后一个”的名称列,你想用第一列和最后一列替换它。
SQL的字符串操作可能最简单:
UPDATE new_users SET First=SUBSTRING_INDEX(Name, ",", 1), Last=SUBSTRING_INDEX(Name, ",", -1)
...然后,在你确定它做对了之后:
ALTER TABLE new_users DROP Name
答案 1 :(得分:0)
这样的事情很有用(我认为PANumber是你的主要钥匙吗?):
foreach($foo as $name)
{
$_name[] = explode(',',$name['Name']);
$_pan = $name['PANumber'];
$sql = "UPDATE new_users SET " .
"FirstName = '" . $_name[0] . "' " .
"LastName = '" . $_name[1] . "' " .
"WHERE PANumber = '" . $_pan;
mysql_query($sql);
}