2013-11-09 205 views
-1

//對不起英文不好。MySQLI PHP查詢失敗

我正在研究一個博客腳本,並沒有像我期望的那樣工作得很好。 我發現了錯誤:

Notice: Undefined property: mysqli_result::$fetch_array 

現在我知道這意味着我的mysqli的查詢將返回NULL或假給我,但我拼命地跑我查詢到phpMyAdmin來看看它是錯的,但它的工作原理那裏。

我試過使用var_dump等進行調試,但現在我堅持了一個小時,希望你們能幫助我。我的代碼:

<?php 
include_once "header.php"; 

$queryInfo  = "SELECT id,datum,auteur,comments,tags,titel,omschrijving,image FROM blog ORDER BY datum DESC"; 
$selectqInfo  = $mysqli->query($queryInfo); 
?> 
    <div class="row"> 
      <div class="sixteen columns"> 
       <div class="breadcrumb"> 
        <a href="home" class="first_bc"><span>Home</span></a> 
        <a href="blog" class="last_bc"><span>Blog</span></a> 
       </div> 
       <div class="page_heading"><h1>Blog</h1></div> 
      </div> 
     </div> 

     <div class="row"> 
      <!-- Wide Column --> 
      <div class="twelve columns"> 
      <?php 
      $stringBlog = array(); 
      while($stringBlog = $selectqInfo->fetch_array); 
      { 
      ?> 
       <div class="post_item"> 
        <div class="pic"> 
         <a href="blog_item.html"><img src="<?php $stringBlog['image']; ?>"/><div class="img_overlay"></div></a> 
        </div> 
        <h3 class="post_title"><a href="blog_item.html"><?php $stringBlog['titel']; ?></a></h3> 
        <p class="post_meta"> 
         <span class="calendar"><a href="blog.html"><?php $stringBlog['datum']; ?></a></span> 
         <span class="author"><a href="blog.html"><?php $stringBlog['auteur']; ?></a></span> 
         <span class="comments"><a href="blog_item.html"><?php $stringBlog['comments']; ?> reacties</a></span> 
         <span class="tags"><a href=""><?php $stringBlog['tags']; ?></a></span> 
        </p> 
        <p class="post_description"><?php $stringBlog['omschrijving']; ?></p>     
       </div> 
      <?php 
      } 
      ?> 
       <div class="post_item"> 
        <div class="pic"> 
         <a href="blog_item.html"><img src="images/blog_img2_700.jpg"/><div class="img_overlay"></div></a> 
        </div> 
        <h3 class="post_title"><a href="blog_item.html">Clean and Modern</a></h3> 
        <p class="post_meta"> 
         <span class="calendar"><a href="">24 September, 2012</a></span> 
         <span class="author"><a href="">by Admin</a></span> 
         <span class="comments"><a href="">3 Comments</a></span> 
         <span class="tags"><a href="">Web Design</a>, <a href="">Web Development</a></span> 
        </p> 
        <p class="post_description"><?php var_dump($queryInfo, $selectqInfo, $stringBlog); ?>.</p>     
       </div> 

//文本是荷蘭語,和的var_dump DE值是:

string(91) "SELECT id,datum,auteur,comments,tags,titel,omschrijving,image FROM blog ORDER BY datum DESC" object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(8) ["lengths"]=> NULL ["num_rows"]=> int(2) ["type"]=> int(0) } NULL 
+0

請與修復更新您的代碼段,到目前爲止,以便我們能夠更好地分析你在哪裏,在你的問題。 –

回答

0

它應該是:

while($stringBlog = $selectqInfo->fetch_array()) { 
    ... 
} 

你需要使用()調用函數fetch_array,你不能把那裏有分號。


更新:您需要echo變量:

while($stringBlog = $selectqInfo->fetch_array()) { 
?> 
    <div class="post_item"> 
     <div class="pic"> 
      <a href="blog_item.html"><img src="<?php echo $stringBlog['image']; ?>"/><div class="img_overlay"></div></a> 
     </div> 
     <h3 class="post_title"><a href="blog_item.html"><?php echo echo $stringBlog['titel']; ?></a></h3> 
     <p class="post_meta"> 
      <span class="calendar"><a href="blog.html"><?php echo $stringBlog['datum']; ?></a></span> 
      <span class="author"><a href="blog.html"><?php echo $stringBlog['auteur']; ?></a></span> 
      <span class="comments"><a href="blog_item.html"><?php echo $stringBlog['comments']; ?> reacties</a></span> 
      <span class="tags"><a href=""><?php echo $stringBlog['tags']; ?></a></span> 
     </p> 
     <p class="post_description"><?php echo $stringBlog['omschrijving']; ?></p>     
    </div> 
<?php 
} 
+0

謝謝,但仍然沒有。 – RezaM

+0

@ user2975129回答更新 –

+0

謝謝!編輯後的版本工作,我忘了回顯數組= -o .... – RezaM

0

fetch_array是一個函數,而不是一個變種所以它應該有 '()' 附加在while循環中。

這可能是爲什麼你得到一個未定義的屬性,而不是一個方法。

例如:

while($stringBlog = $selectqInfo->fetch_array) 

可能需要

while($stringBlog = $selectqInfo->fetch_array()) 
+0

通知錯誤消失,但while循環仍然不起作用。感謝您的嘗試。 – RezaM

+1

@ user2975129刪除該行末尾的';'。 –

+0

仍然沒有,謝謝你嘗試 – RezaM