【问题标题】:Undefined variable: myquery - query was empty未定义变量:myquery - 查询为空
【发布时间】:2014-04-05 04:19:24
【问题描述】:

我不断收到错误“未定义的变量:myquery - 查询为空”我已经尝试了几个小时的许多不同的东西,但仍然无法让它工作。我对php很陌生,发现它很混乱。因此,请详细解释或将我链接到有用的东西,以便我能更多地理解它。 这是代码:

 <?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";
    }
}
?>

【问题讨论】:

    标签: php sql rating


    【解决方案1】:

    如果您确定连接、查询、获取代码是正确的,那么可能是 mysql_connect 正在连接但没有看到您的数据库。运行此代码以确保找到您的数据库

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

    如果没有找到,则需要修改数据库的权限。例如,进入相关数据库的“权限”选项卡,将用户名设为“任何用户”并检查适用的权限。

    【讨论】:

    • 当我运行该代码时,它说 information_schema 测试是正确的还是应该说我正在使用的数据库的名称
    【解决方案2】:

    试试这个

    $result = mysql_query("SELECT `ratings` FROM `blog_posts` WHERE `id`='1'");
    
    while ($row = mysql_fetch_array($result)) {  
    
    }  
    

    【讨论】:

    • 我已经尝试过了,但现在我得到了错误:mysql_fetch_array() 期望参数 1 是资源,给定数组
    • 连接、查询、获取代码是正确的,那么可能是 mysql_connect 正在连接但没有看到您的数据库。运行此代码以确保找到您的数据库
    【解决方案3】:

    您没有定义 $myquery 变量。你有 $sql。试试这个:

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

    【讨论】:

      【解决方案4】:

      此行无效:

      $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());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多