Php mysql的while循环中的If语句永远不会为true
我在一个while循环中遇到了if语句的问题。我有一个名为$all_teams的团队数组。假设它包含蓝色团队、红色团队和黄色团队。我还有一个数据库,其中对象被分配给团队Php mysql的while循环中的If语句永远不会为true,php,mysql,if-statement,while-loop,Php,Mysql,If Statement,While Loop,我在一个while循环中遇到了if语句的问题。我有一个名为$all_teams的团队数组。假设它包含蓝色团队、红色团队和黄色团队。我还有一个数据库,其中对象被分配给团队 DatabaseID | State | Team | ... 12 Ready Blue 33 Finished Red 65 Ready Blue 我现在尝试运行以下代码: <?php $query = "SELECT DISTINCT *
DatabaseID | State | Team | ...
12 Ready Blue
33 Finished Red
65 Ready Blue
我现在尝试运行以下代码:
<?php
$query = "SELECT DISTINCT * FROM `dmt_objects` WHERE PipelineAndWorkflow = 'RWP WF Ready for 4Sprint' ORDER BY `Team` DESC ;";
$select_projects = mysql_query($query);
foreach($all_teams as $team){
echo '<tr id = '.$team.'><td>'.$team.'</td><td>';
while($all_objects = mysql_fetch_array($select_projects)){
if($all_objects['Team'] == $team){
echo ''.$all_objects['DatabaseID'].'</br>';
}
}
echo '</td></tr>';
}
?>
国际单项体育联合会
if($all_objects['Team'] == $team)
永远都不是真的。。。为什么?如何解决我的问题?警告不要使用
mysql\uuz
使用mysqli\uz
或PDO
仔细阅读以下内容:
在每个循环后重置结果集指针(目前忽略您正在使用不推荐的mysql_*函数):-
您是否尝试过在表达式的每一侧打印值,并查看您得到的输出?这在一定程度上只适用于一线队。如果我移动echo“”。$all\u objects['DatabaseID'],则需要将查询结果(可能使用mysql_data_seek)@db579重置。';在If语句之前,它打印出第一个团队行中的所有ID,只需在If语句之前回显$all_objects['team']和$team即可。你应该可以看到这是怎么回事。为什么mysqli必须使用mysql呢?我也在开发网络和新手。所以我知道的不多。mysql_*函数已经被弃用了。也就是说,它们不再被开发,在未来的php版本中将被删除(从手册页面,PHP7将删除这些函数)。@RohanKhude:我添加了一个官方文档的链接。这是一个非常古老的扩展,超过17年。。。SQL注入易受攻击,它在低级别连接到MySQL服务器。关于这一点,有很多线索。希望我能在我的answear和warning方面帮助您:)但是现在我已经开发了大约50页的php。使用mysql。我如何用mysqlimigrate更新它:)谢谢!有没有一种简单的方法可以从mysql中切换过来?对于很多事情来说都很简单。Mysqli支持参数化查询,切换到参数化查询需要做更多的工作(同时也会降低查询的可读性,并且很难在可用状态下回显失败的查询)。使用mysqli的方式与使用mysql_*函数的方式大致相同,大多数只需更改名称即可。更难更改的主要参数是mysqli_real_escape_string,其中链接标识符成为必需的,并且也成为mysql_real_escape_string中的第一个参数,而不是第二个参数。您没有对mysqli_u给出警告:(:(
if($all_objects['Team'] == $team)
<?php
$query = "SELECT DISTINCT * FROM `dmt_objects` WHERE PipelineAndWorkflow = 'RWP WF Ready for 4Sprint' ORDER BY `Team` DESC ;";
$select_projects = mysql_query($query);
$all_objects = mysql_fetch_array($select_projects)
foreach($all_teams as $team){
echo '<tr id = '.$team.'><td>'.$team.'</td><td>';
foreach($all_objects as $obj)
if($obj['Team'] == $team){
echo ''.$obj['DatabaseID'].'</br>';
}
}
echo '</td></tr>';
}
?>
<?php
$query = "SELECT DISTINCT *
FROM `dmt_objects`
WHERE PipelineAndWorkflow = 'RWP WF Ready for 4Sprint'
AND Team IN ('".implode("','", $all_teams)."')
ORDER BY `Team` DESC ;";
if ($select_projects = mysql_query($query))
{
foreach($all_teams as $team)
{
echo "<tr id = '$team'><td>$team</td><td>";
while($all_objects = mysql_fetch_assoc($select_projects))
{
if($all_objects['Team'] == $team)
{
echo ''.$all_objects['DatabaseID'].'</br>';
}
}
echo '</td></tr>';
mysql_data_seek($select_projects, 0);
}
}
else
{
die(mysql_error());
}
?>