2014-03-03 18 views
0

我不斷收到錯誤「未定義的變量:myquery - 查詢是空的」我已經嘗試了許多不同的事情幾個小時,仍然無法讓它工作。我對PHP很陌生,覺得很混亂。所以請詳細解釋或者將我鏈接到一些有用的東西,以便我能更好地理解它。 這裏是代碼:未定義的變量:myquery - 查詢是空的

<?php 
include_once("scripts/connect_db.php"); 
$totals = ""; 
$rating = ""; 
$sql = mysql_query("SELECT `ratings` FROM `blog_posts` WHERE `id`='1'"); 
$result = mysql_query($myquery) or die(mysql_error()); 
while($row = mysql_fetch_array($sql)){ 
$myNums = $row["ratings"]; 
    $kaboom = explode(",", $myNums); 
    $result = array_count_values($kaboom); 
    foreach($result as $key => $value){ 
     if ($value =="1"){ 
      $howMany = "person"; 
      }else{ 
       $howMany = "people"; 
      } 
      if($key ==""){ 
       $pic = "images/starsNorm.png"; 
      } 
      else if($key == "1"){ 
       $stars = "star"; 
       $pic = "images/1lit.png"; 
      }else if($key == "2"){ 
       $stars = "stars"; 
       $pic = "images/2lit.png"; 
      }else if($key == "3"){ 
       $stars = "stars"; 
       $pic = "images/3lit.png"; 
      }else if($key == "4"){ 
       $stars = "stars"; 
       $pic = "images/4lit.png"; 
      }else if($key == "5"){ 
       $stars = "stars"; 
       $pic = "images/5lit.png"; 
      } 
$totals .= '<p class="small" style="color:#32CD32;">' . $key . ' ' . $stars . ': <img src="' . $pic . '" alt="stars" /> 
     ' . $value . ' ' .$howMany . '</p>'; 
    } 
    $count = count($kaboom); 
    $sum = array_sum($kaboom); 
    $avg = $sum/$count; 
    $roundit = floor($avg); 

    if($roundit == 0) { 
     $rating = '<p class="small" style="color:#32CD32;">This ... has not yet been rated. You can be first!</p>'; 
    }else if ($count == 1) { 
     $rating = '<p class="small" style="color:#32CD32;">Current Article Rating: ' . $roundit . '/5 stars <img id="myStars" src="images/starsNorm.png" 
     alt="stars"/></p>'; 
    }else if($count > 1) { 
     $rating = '<p class="small" style="color:#32CD32;">Current Article Rating: ' . $roundit . '/5 stars <img id="myStars" src="images/starsNorm.png" 
     alt="stars"/></p>'; 
    }else{ 
     $rating = "sorry there is an error in the system... please try refreshing the page"; 
    } 
} 
?> 

回答

0

此行是無效的:

$result = mysql_query($myquery) or die(mysql_error()); 

你是不是在任何地方定義這正是錯誤消息告訴您$更改爲MyQuery。

我猜它上面的行應該只是一個字符串,然後這就是你想要在傳遞變量。

例如

$sql = "SELECT `ratings` FROM `blog_posts` WHERE `id`='1'"; 
$result = mysql_query($sql) or die(mysql_error()); 
0

您沒有定義$ myquery變量。你有$ sql。試試這個:

$ result = mysql_query($ sql)or die(mysql_error());

0

試試這個

$result = mysql_query("SELECT `ratings` FROM `blog_posts` WHERE `id`='1'"); 

while ($row = mysql_fetch_array($result)) { 

} 
+0

我試過了,但現在我得到的錯誤:mysql_fetch_array()期望參數1是資源,給出的數組 – cameron9584

+0

連接,查詢,提取代碼是正確的,那麼它可能是mysql_connect連接,但沒有看到你的數據庫。運行此代碼以確保您的數據庫被找到 – JamesMarc

0

如果你確保連接,查詢,取出碼是正確的,那麼它可能是是的mysql_connect連接,但沒有看到你的數據庫。運行該代碼,以確保您的數據庫被發現

mysql_connect('localhost') or die ("Connect error"); 

$res = mysql_query("SHOW DATABASES"); 
while ($row = mysql_fetch_row($res)) { 
    echo $row[0], '<br/>'; 
} 

如果不是被人發現它,那麼你需要修改你的數據庫的權限。例如,進入相關數據庫的「特權」選項卡,使用戶名任何用戶並檢查適用的特權。

+0

當我運行該代碼時,它顯示information_schema 測試是否正確或應該說我使用的數據庫的名稱 – cameron9584