$row中的MySQL结果在有条件时不会回显

$row中的MySQL结果在有条件时不会回显,mysql,if-statement,row,Mysql,If Statement,Row,如果用户单击modify video链接,我试图让前面代码中查询的行在这个if条件中回显。但是,当我直接在if($videoEdit){conditional上方回显$video变量时,它会显示在页面上,但如果我尝试在if($videoEdit){conditional内回显它,它将由于某种原因而不会输出。我感到困惑。这是我的代码(不包括查询,但echo$video在条件之前会输出正确的结果) 加::: require ('../mysql_connect.php'); // Connect t

如果用户单击modify video链接,我试图让前面代码中查询的行在这个if条件中回显。但是,当我直接在if($videoEdit){conditional上方回显$video变量时,它会显示在页面上,但如果我尝试在if($videoEdit){conditional内回显它,它将由于某种原因而不会输出。我感到困惑。这是我的代码(不包括查询,但echo$video在条件之前会输出正确的结果)

加:::

require ('../mysql_connect.php'); // Connect to DB

    // Handle Video Edit
   if ($_GET['video'] == "EDIT") {

$videoEdit = TRUE;

   }

    $query = "SELECT inventory.inv_key, inventory.mdl_key, inventory.serial, inventory.date_aquired, inventory.location, inventory.price, model.mdl_key, model.man_key, model.cls_key, model.sub_cls_key, model.model, model.video, model.picture, model.pdf, subclass.sub_cls_key, subclass.subclass, class.cls_key, class.class, manufacturer.man_key, manufacturer.manufacturer FROM inventory, manufacturer, model, class, subclass WHERE inventory.mdl_key='$_GET[mdl_key]' AND model.mdl_key='$_GET[mdl_key]' AND class.cls_key='$_GET[cls_key]' AND subclass.sub_cls_key='$_GET[sub_cls_key]' AND manufacturer.man_key='$_GET[man_key]' AND manufacturer=manufacturer.manufacturer AND class=class.class AND subclass=subclass.subclass";
$result = @mysql_query ($query); // Run the query

while ($row = mysql_fetch_array 
($result, MYSQL_ASSOC)) {
$model = $row['model'];
$mdl_key = $row['mdl_key'];
$video = $row['video'];
$picture = $row['picture'];
$pdf = $row['pdf'];
$description = $row['description'];
$manufacturer = $row['manufacturer'];
$man_key = $row['man_key'];
}
以上添加内容:

if ($_GET['video'] == 'EDIT') { 
$videoEdit = TRUE; 
}

while ($row = mysql_fetch_array($result)) {
$video = $row['video'];
}

if ($videoEdit) { // <-- boolean comparison
echo '<form action="edit_media.php" method="post">
<p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value=';
       if (isset($video))
            echo $video;
        }
            echo ' /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
        </form>';
}
if($_GET['video']=='EDIT'){
$videoEdit=TRUE;
}
while($row=mysql\u fetch\u数组($result)){
$video=$row['video'];
}

如果($videoEdit){//在html字符串'/>

的其余部分之前缺少回音

if (isset($video))
      echo $video;

echo ' /></p><p><input type="submit" name="submit" value="Submit Video" /></p> <input type="hidden" name="submitted" value="TRUE" /></form>';
if(isset($video))
echo$视频;
回声“/>

”;
不确定这是否是答案,但在尝试回显$video内容之后,在继续循环之前,您似乎需要另一个“回显”。在此之前:

' /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
”/>


很可能,
$video
未设置

您应该在
while
循环之后尝试
回显$video;
。此外,您不应该使用循环,除非您仅获取单个结果

$row = mysql_fetch_array($result);
$video = $row['video'];
echo $video;
更新

下面是我将如何处理您的问题(显然是替换
mysql\uu
函数):

if($_GET['video']=='EDIT'){
$result=mysql_查询(“选择…”);
$row=mysql\u fetch\u数组($result);
$video=$row['video'];
回声'

视频链接:您好!只是想让您知道,您应该停止使用
mysql\uquot/code>函数来编写新代码。改用
mysqli\uquot/code>或
PDO
函数。祝您有一个美好的一天。谢谢,这对我来说已经有一段时间了。我可以回显$Video并在if条件外显示视频链接。但在它里面,n操作。您确定
$videoEdit
为真吗?如果($\u GET['video']=“EDIT”){$videoEdit=真;}是的,我很确定。当用户单击modify video(修改视频)时,它会再次将他们带到这个页面,除了url是.php?video=edit之外。我也知道这是真的,因为当我单击modify video(修改视频)链接时会显示,并且该表单会在IF($videoEdit==true)中回显条件确保您知道GET变量区分大小写。因此,如果您有?video=edit,并且正在检查$\u GET['video']='edit',这些变量将不等同于我不知道的值,谢谢。但是,我已经在代码中更正了所有这些。
$row = mysql_fetch_array($result);
$video = $row['video'];
echo $video;
if ($_GET['video'] == 'EDIT') { 
    $result = mysql_query("SELECT ... ");
    $row = mysql_fetch_array($result);
    $video = $row['video'];

    echo '<form action="edit_media.php" method="post">
    <p>Video Link: <input type="text" name="serial" size="25" maxlength="100" value='";
    if (isset($video)) {
        echo $video;
    }

    echo '" /></p><p><input type="submit" name="submit" value="Submit Video" /></p>               <input type="hidden" name="submitted" value="TRUE" />
            </form>';
    }

}