询问一个值是否与另一个值不同,在php if语句中总是回答true
我看到了一个答案,看起来它可能解决了这个问题,但在这里看,它看起来不太有希望,因为一切似乎都表明我的代码是好的。我试图创建一个动态页面,如果满足某些条件,它将加载某些信息。除了我的进度部分,一切都很好。有人能告诉我为什么这不起作用吗询问一个值是否与另一个值不同,在php if语句中总是回答true,php,if-statement,Php,If Statement,我看到了一个答案,看起来它可能解决了这个问题,但在这里看,它看起来不太有希望,因为一切似乎都表明我的代码是好的。我试图创建一个动态页面,如果满足某些条件,它将加载某些信息。除了我的进度部分,一切都很好。有人能告诉我为什么这不起作用吗 <? php require_once("session.php"); ?> <? php require_once("connection.php"); $email = $_SESSION['email']; $query = mysql_q
<? php require_once("session.php"); ?>
<? php require_once("connection.php");
$email = $_SESSION['email'];
$query = mysql_query("SELECT * FROM progress WHERE email = '$email'");
$row = mysql_fetch_array($query);
if ($row['admin'] == 0) {
echo...
您正在进行类型安全比较,即检查以确保$row['progress']
和100
不只是相同的值,而是相同的类型
来自数据库的值最初总是字符串,而100
是整数
使用检查数据库值是否为数字,然后使用intval
,然后进行类型安全比较。您正在进行类型安全比较,即检查以确保$row['progress']
和100
不仅是相同的值,而且是相同的类型
来自数据库的值最初总是字符串,而100
是整数
使用检查数据库值是否为数字,然后使用intval
进行类型安全比较。100!='100'. $row['progress']
包含整数还是字符串?它包含整数100!='100'. $row['progress']
包含整数还是字符串?它包含一个整数“从数据库中出来的值总是最初的字符串”=>我知道,只是强调一下,所有数据库中的所有数据无论以何种方式都是字符串,这不是一个一般性的说法,因为它可能会被误解(其他人,OP可能会在寻找答案时找到这个答案,认为这是一个友好的脚注,我不是不同意你)。.对于mysql\ucode>AFAIK,你完全正确。谢谢你的帮助。我没有想到我是如何通过数字处理true和false的,只是不明白为什么100不同,但它成功了。“从数据库中出来的值最初总是字符串”我知道,只是说这不是一般的声明,所有的数据库中的任何数据都是字符串,因为它可能被误解(其他人,那么OP可能会在寻找答案时找到这个答案,认为这是一个友好的脚注,我不是不同意你)。.Formysql\ucode>AFAIK你完全正确。谢谢你的帮助。我没有想到我是如何通过数字处理真与假的,只是不明白为什么100是不同的,但它成功了。
if ($row['progress'] !== 100) {
$contract = $row['location'];
$progress = $row['progress'];
$mockup = $row['mockup'];
echo "<a href=\"customer.php\">Contact</a><br />";
echo "<a href=\"$contract\">View Contract</a><br />";
echo "<a href=\"$mockup\">View Mock Up</a><br />";
echo "<p>Progress: " . $progress . "%</p>";
}