2017-05-15 10 views
1

私はこのコードを持っていますが、私はコンテンツ付きのテーブルを印刷したいと思います。それはテーブルを印刷しますが、列は空です...何が欠けていますか?間違いを見ることはできません。Mysqliクエリで結果が取得されない

function show_autovetture($data){ 

    $con = $data;    //PASSO CONNESSIONE 
    $rows = array();   // PREPARO ARRAY 

    $stmt = mysqli_stmt_init($con); // INIZIALIZZO LA CONNESSIONE 

    mysqli_stmt_prepare($stmt,'SELECT 
         autovetture.id, 
         autovetture.name 
         FROM autovetture 
         ORDER BY id DESC'); 
         or die(mysqli_error($con)); // QUERY INSERIMENTO DATI 

    mysqli_stmt_execute($stmt);     // ESEGUO LA QUERY 

    mysqli_stmt_bind_result($stmt,$rows['id'],$rows['name']); 

    $html = ""; 
    $html .= "<div class='container'>"; 
    $html .= "<div class='div_box_5'>"; 
    $html .= "<div class='row'>"; 
    $html .= "<div class='panel panel-default'>"; 
    $html .= "<div class='panel-heading'>"; 
    $html .= "<h4>"; 
    $html .= "Elenco Ditte Autovetture"; 
    $html .= "</h4>"; 
    $html .= "</div> <!-- end panel-heading -->"; 
    $html .= "<table class='table table-fixed'>"; 
    $html .= "<thead>"; 
    $html .= "<tr>"; 
    $html .= "<th class='col-xs-2'>#</th><th class='col-xs-8'>Nome</th><th class='col-xs-2'>Modifica</th>"; 
    $html .= "</tr>"; 
    $html .= "</thead>"; 
    $html .= "<tbody>"; 
    while($rows=mysqli_stmt_fetch($stmt)){ 
      $html .= "<tr>"; 
      $html .= "<td class='col-xs-2'>$rows[id]</td><td class='col-xs-8'>$rows[name]</td><td class='col-xs-2'><a href='edit_autovet.php?id=$rows[id]'><span class='glyphicon glyphicon-pencil'></span></a></td>"; 
      $html .= "</tr>"; 
    } 
    $html .= "</tbody>"; 
    $html .= "</table>"; 
    $html .= "</div> <!-- end panel panel-default -->"; 
    $html .= "</div> <!-- end row -->"; 
    $html .= "</div> <!-- end div_box_5 -->"; 
    $html .= "</div> <!-- end container -->"; 


    mysqli_stmt_close($stmt);          // CHIUDO LO STATEMENT 
    mysqli_close($con);            // CHIUDO CONNESSIONE 

    return $html; 

} 

どこがエラーですか?

+0

mysqliのエラーをチェックする方法を読んで –

+0

問題は、私は、画面上のエラーを持っていないということです..私はそれらを確認することができますか? –

+1

私は、mysqliに多少の学習曲線があることがわかりましたが、一度それを得ると非常に堅牢です。 http://php.net/mysqli_error 'mysqli_error($ link)' –

答えて

2

mysqli_stmt_bind_result($stmt,$rows['id'],$rows['name']);でバインドした結果は既にバインドされていますが、ループしても変数に格納されます。フェッチ中にループの繰り返しごとに変数の内容が更新されます。

while($rows=mysqli_stmt_fetch($stmt)){ 

フェッチデータの代わりにこの

while (mysqli_stmt_fetch($stmt)) { 

ように、変数に代入することなく引数としてmysqli_stmt_fetch()を有するループは、を使用して、フェッチよりステートメントを使用と少し異なっています方法。

現在、$rows変数を上書きしています。現在のように実行すると、ブール値(true/false)またはnullになります。戻り値については、mysqli_stmt_fetch()のマニュアルを参照してください。

+1

私の日を救ってくれてありがとう!、愚かな間違い!どうもありがとうございました:) –

+1

お手伝いします! :-)クエリ内のプレースホルダ(変数またはユーザ入力)をバインドしていないので、ここでは通常のクエリを使用することもできます。しかし、準備することに何も問題はありません、ちょうどもう少し仕事です:-) *乾杯* – Qirel

関連する問題