1

如果内容存在于行的列中,我有一个 if 语句应该将变量设置$pc162v为 MySQL 表中指定的链接。$vid问题是,PHP 检测到 MySQL 中有一个链接,但没有$pc162v正确设置变量。

这是变量声明:

$pc162v = "";
$vid162 = '<embed width="420" height="236" src="'.$pc162v.'" type="application/x-shockwave-flash"></embed>';

这是 if 语句的部分:

if (empty($row[7])) {
   $vid162 = '';
}
else {
   $pc162v = $row[7];
}

在我的网络浏览器中,使用变量的代码部分$vid162显示如下:

<embed width="420" height="236" src="" type="application/x-shockwave-flash">

我还尝试将 $vid162 设置为:

<embed width="420" height="236" src="<?php echo $pc162v; ?>" type="application/x-shockwave-flash"></embed>

这只是在我的网络浏览器中制作代码:

<embed width="420" height="236" src="<?php echo $pc162v; ?>" type="application/x-shockwave-flash">

希望有人有解决方案!提前致谢。

4

2 回答 2

1

您声明一个空的 var $pc162v,然后在下一行使用它来填充 $vid162 中的 src 属性。我会使用:

$vid162 = '';

if (!empty($vid)) //Or $row[7], if that contains the url
    $vid162 = '<embed width="420" height="236" src="'.$vid.'" type="application/x-shockwave-flash"></embed>';
于 2013-10-24T22:00:43.410 回答
0

我假设您在调用之前将变量声明为空,只是为了向我们演示。如果不是,那肯定是问题所在。

看来您的代码中没有解析 PHP 本身。尽管我无法在没有看到与数据库交互的情况下具体告诉您是否设置了变量,但我可以说如果从正确配置了 PHP 的 Web 服务器提供服务,PHP 应该始终进行解析。如果您知道 PHP 在其他地方被正确解析,请确保您使用的页面具有 .php 扩展名。

如果您不确定变量是否设置正确,我要做的是设置一个测试用例。换句话说,很难在这种情况下,您认为该变量将从数据库中正确提取,然后简单地在页面上的某处回显它。或者,更好的是,您可以使用Kint 之类的工具来帮助您进行调试。这绝对是从旧的 var_dump($var);die(); 迈出的一步。业务,尽管这也是一种选择。

因此,从本质上讲,我会验证您的页面上是否正在解析 PHP,然后通过 echo 或使用var_dump测试变量。

于 2013-10-24T22:00:48.913 回答