php - 当 if 返回 false 时,如何退出 if 语句而不影响 php 的其余部分

标签 php mysql sql

//这让我发疯,哈哈..下面要执行的代码。我试图在一个 if 语句为 true 时退出脚本,如果为 false 则继续执行

<?php

require('includes/config.php');

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$selectQuery = "SELECT username, email, tokens, tokenstatus, tokensinc, tokenstatus1, tokenswith, tokenstatus2 FROM members WHERE username = '".($_SESSION['username']) ."'";

$updateQuery = "UPDATE members SET tokens=tokens - 10, tokenstatus='(Pending Tokens)' ,tokenswith=tokenswith + 10, tokenstatus1='(Pending Tokens)' WHERE username = '".($_SESSION['username']) ."'";

// Create connection
$db = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$db) {
die("Connection failed: " . mysqli_connect_error());
}

//if not logged in redirect to login page
if(!$user->is_logged_in()) { header('Location: login.php'); exit(); }

//define page title
$title = 'Withdraw ~ Pixel Jag';

//include header template
require('layout/header.php');
?>
<div class="container">
<div class="panel panel-default">
<?php


$result = mysqli_query($db, $selectQuery);

if (mysqli_num_rows($result) > 0) {
// output data of each row
echo "<ul class='list-group'>";
while($row = mysqli_fetch_assoc($result)) {

//下面的if语句是要执行的代码,如果返回true我希望它退出脚本,如果它返回false我希望它继续更新//

  if ($row['tokens'] < 10) {
        echo "<li class='list-group-item list-group-item-danger'>You do not have enough tokens!</li>";
    }
}
echo "</ul>";

}

//请参阅下面的代码,如果上面返回 false,我希望执行相反的代码//

if (mysqli_query($db, $updateQuery)) {
echo "<ul class='list-group'><li class='list-group-item list-group-item-success'><h4>Record updated successfully!</h4></li></ul>";
} else {
echo "Error updating record: " . mysqli_error($db);
}

mysqli_close($db);
?>

<div class="panel-footer">
<a href="index.php"><h4>Back To Dashboard..</h4></a>
</div>
</div>
</div>
<?php
//include header template
require('layout/footer.php');
?>

最佳答案

请添加一个标志$isValid,默认值为true

$isValid = true;

while(mysqli_num_rows($result) > 0 || $isValid) {
     if ($row['tokens'] < 10) {
       echo "<li class='list-group-item list-group-item-danger'>You do not have  enough tokens!</li>";
         $isValid = false;
     }
}

好吧,如果标志为真,则进行更新

关于php - 当 if 返回 false 时,如何退出 if 语句而不影响 php 的其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50201045/

相关文章:

php - SQL嵌套查询存储在数组中?

php - Laravel - 急切加载 Eloquent 模型的方法(不是关系)

java - 在netbeans 6.8中将java应用程序连接到mysql服务器

mysqld_exporter.service 中的 mysqld_exporter 数据源名称

sql - 需要在只返回一行的外连接中创建一个表达式

javascript - WordPress 自定义元框多图片上传

php - 你能在 PHP 中一次取消设置()多个变量吗?

java - 复合主键太长?

具有 100k 记录的 SQL Server 表,2 个内部连接极慢

mysql - 查找第二个表中缺少的记录