PHP echo不返回html代码

时间:2017-04-18 06:31:58

标签: php html

我在一个html文件(扩展名为.php)中运行它,但是当我检查元素时,iframe没有出现。错误报告显示va5和bind_param存在问题。当我打电话给这个php时,我并不总是有一个变量5。我怎么能解决这个问题?

<?php

  $va1 = $_GET['variable1'];
  $va2 = $_GET['variable2'];
  $va3 = $_GET['variable3'];
  $redetails = NULL;
  $redetails2 = NULL;
  $redetails = $_GET['rdetails'];
  $redetails2 = $_GET['redetails2'];

  $stmt = $mysqli->prepare("SELECT id FROM idlist WHERE var1 = ? && var2 = ? && var3 = ? && var4 = ? && var5 = ?");

  //failing
  $stmt->bind_param('sssss', $va1, $va2, $va3, $va4, $va5);

  $stmt->execute();
  $result = $stmt->get_result();

  //failing
  echo $result[0];

  //failing
  echo '<iframe src="https://drive.google.com/file/d/' . $result[0] . '/preview" width="850" height="1150"></iframe>';
?>

1 个答案:

答案 0 :(得分:0)

您必须根据变量的数量更改查询。解决方案可能是

<?php
    $parms = array(
        'var1' => $_GET['variable1'],
        'var2' => $_GET['variable2'],
        'var3' => $_GET['variable3'],
    );

    if (isset($_GET['variable4'])) $parms['var4'] = $_GET['var4'];
    if (isset($_GET['variable5'])) $parms['var5'] = $_GET['var5'];

    $stmt = $mysqli->prepare('SELECT id FROM idlist WHERE '. implode(' = ? && ', array_keys($parms)). ' = ?');
    foreach($parms as $value) $stmt->bind_param('s', $value);