Php 为什么我的代码不起作用
当我运行以下代码时,它会执行!然而,有一个问题。if$photoidhaste[magic]==1不起作用,为什么程序会说if语句为false。我的逻辑错误是什么?我如何修复它,使代码能够正常工作Php 为什么我的代码不起作用,php,sql,Php,Sql,当我运行以下代码时,它会执行!然而,有一个问题。if$photoidhaste[magic]==1不起作用,为什么程序会说if语句为false。我的逻辑错误是什么?我如何修复它,使代码能够正常工作 <?php $con = mysqli_connect("127.0.0.1:3306","root","root","photoshare"); $query = "SELECT ID,nickname,photoLikes FROM tbl_photo"; $result = mysqli_
<?php
$con = mysqli_connect("127.0.0.1:3306","root","root","photoshare");
$query = "SELECT ID,nickname,photoLikes FROM tbl_photo";
$result = mysqli_query($con,$query);
$query_dislike = "SELECT idGivenLike, nickname, magic FROM tbl_check_like";
$resultDislike = mysqli_query($con,$query_dislike);
$photoIDdislike;
$photoID;
while($photoID = mysqli_fetch_assoc ($result))
{
if(mysqli_fetch_assoc($resultDislike)!= null)
{
while($photoIDdislike = mysqli_fetch_assoc($resultDislike))
{
//checks if both of results
if($photoID["ID"] == $photoIDdislike["idGivenLike"])
{
if($photoIDdislike["magic"] == 1)
{
echo '<a href=img/'.$photoID["ID"].'.php><img src="uploads/'.$photoID["ID"].'.jpg" alt="Picture" class="photo" width="800" height="600"/></a>
</br>
התמונה הועלתה על ידי '.$photoID["nickname"].'
<form action="unlike.php" method="POST" >
<input type="image" src="img/unlike.png" width="20" height="20" name="submit" value="'.$photoID["ID"].'"/>
לייקים:'.$photoID["photoLikes"].'
</form>
';
}
}
}
}
else
echo '<a href=img/'.$photoID["ID"].'.php><img src="uploads/'.$photoID["ID"].'.jpg" alt="Picture" class="photo" width="800" height="600"/></a>
</br>
התמונה הועלתה על ידי '.$photoID["nickname"].'
<form action="like.php" method="POST" >
<input type="image" src="img/like.jpg" width="20" height="20" name="submit" value="'.$photoID["ID"].'"/>
לייקים:'.$photoID["photoLikes"].'
</form>
';
}
?>
我的数据库结构:
待检查,如:
idGivenLink |昵称|魔术般地说,如果他给了我喜欢的话
tbl_照片:
ID |昵称|照片名|照片类|照片链接|光电链接诊断此问题应该不会太难。var_转储$photoIDdislike[magic]的值。然后,您需要采取一些行动方案中的一种 如果该值与您的期望值不同,例如,它等于0,那么您的应用程序逻辑一开始就没有问题。当然,在这种情况下,可能需要更改相等性检查。 如果输出与预期相符,请检查数据类型,即它实际上是一个数字。 如果没有打印任何内容,即使通过执行echo“var_dump:”验证它不是空字符串;var_dump。。。;,以前的条件永远不会满足,即$photoID[ID]==$photoID不喜欢[idGivenLike]。 用于测试的代码
if($photoID["ID"] == $photoIDdislike["idGivenLike"]) {
echo "var_dump:\n";
var_dump($photoIDdislike["magic"]);
if($photoIDdislike["magic"] == 1) {
// ...
}
}
这是不可能回答的,请发布数据库的结构。如果If中的表达式总是返回false,您应该调试它,以了解为什么您的魔术变量没有设置为1。@matt3141我已经添加了我的db结构,每个db的所有列。ID-idGiveLink是photo@Renan但是当我执行INSERT命令将魔法值更改为1时,它应该始终返回真正的魔法。@Yoni当人们挑战现实时,它非常可爱,因为它不符合他们的愿望。我一直在努力希望天空也变绿,但到目前为止还没有成功。。。但它应该是懒惰者的语言。很明显,它的行为不像你所希望的那样。所以,去那里调试这个东西,直到你发现为什么**1**没有被设置。