sql在php中使用大小写更新多行
我试图一次更新11行-板球队(11名球员)之前从表单页面发布,然后我想更新第一个用这些球员调用的表。(该表包括球员、顺序和团队。)sql在php中使用大小写更新多行,php,sql,database,case,Php,Sql,Database,Case,我试图一次更新11行-板球队(11名球员)之前从表单页面发布,然后我想更新第一个用这些球员调用的表。(该表包括球员、顺序和团队。) 对于您的查询,使用for循环可能更简单、简洁、更智能。这可能对您没有什么帮助: <?php for($i=1;$i<$count;$i++) { $updatesql="update first set player ='".$_POST['player_'.$i]"' where team ='".$_POST['team_'.$i]
对于您的查询,使用for循环可能更简单、简洁、更智能。这可能对您没有什么帮助:
<?php
for($i=1;$i<$count;$i++) {
$updatesql="update first set player ='".$_POST['player_'.$i]"' where team ='".$_POST['team_'.$i]"' ";
mysql_query($updatesql);
}
?>
您需要一个mysql\u查询($sql)
要在数据库上执行查询b很明显,在结束后缺少一个右括号“')。
顺便说一下,第一个案例条件(order=1='$team')似乎没有任何意义
无论如何,下面的查询应该可以工作。请注意。需要以与第一和第二玩家相同的模式填充
$sql = "
UPDATE first a,
(
SELECT 1 AS `order`, '{$one}' AS player, '{$team}' AS team
UNION ALL
SELECT 2 AS `order`, '{$two}' AS player, '{$team}' AS team
.
.
.
UNION ALL
SELECT 11 AS `order`, '{$eleven}' AS player, '{$team}' AS team
) b
SET a.player = b.player
WHERE a.`order` = b.`order`
AND a.team = b.teamenter
";
您可能应该删除凭据。。。另外,您有一个end语句,但没有begin语句。我不是SQL专家,但我认为这是必需的。第一个WHEN语句有语法错误吗?当order=1='$team'然后是'$one'哦,对不起,我刚才改变了,不,它和其他人一样,得到的团队是$team检查我的答案。。这对你来说可能是简单明了的:)是的,对不起,我在上传时不小心改变了它,它和其他的一样,我把它放在后面,哪里错了?谢谢你
$sql = "
UPDATE first a,
(
SELECT 1 AS `order`, '{$one}' AS player, '{$team}' AS team
UNION ALL
SELECT 2 AS `order`, '{$two}' AS player, '{$team}' AS team
.
.
.
UNION ALL
SELECT 11 AS `order`, '{$eleven}' AS player, '{$team}' AS team
) b
SET a.player = b.player
WHERE a.`order` = b.`order`
AND a.team = b.teamenter
";