2017-04-18 20 views
0

これはhtmlファイル(.php拡張子)内で実行していますが、要素を調べるとiframeは表示されません。エラー報告では、va5およびbind_paramの問題が示されます。私はこのPHPを呼び出すとき、私は常に変数を持っていません5。どうすればこの問題を解決できますか?PHPエコーがHTMLコードを返さない

<?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>'; 
?> 
+0

ファイル拡張子とは何ですか? * .php?あなたはPHPを起動するために何を使用しますか? Nginx?クリ? – mochalygin

+0

@mochalyginはい、その.phpと私はApacheを使用しています – p1083997

+2

あなたの '//いくつかの計算 'にエラーがあるかもしれません。 PHPでエラー報告を有効にして見てください。http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display注:このように構文エラーは見られません。 –

答えて

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); 
関連する問題