需要有关 mysql_fetch_array() 错误的帮助?

Posted

技术标签:

【中文标题】需要有关 mysql_fetch_array() 错误的帮助?【英文标题】:Need help with mysql_fetch_array() error? 【发布时间】:2011-07-16 03:44:05 【问题描述】:

当我尝试运行这段代码时,我得到了错误:

“警告:mysql_fetch_array() 期望参数 1 是资源,给定字符串”

我一直在尝试调试它,但我似乎无法。

它连接到一个有 6 个字段的表:

id (int) |名称 (varchar) |图像 (BLOB) |说明(文字)|网址(文本)|关键词(文字)

谁能尝试解决这个问题?!?!?!

函数写在下面....

function get_images()

    $limit = 5;
    $count = 0;

    $row = mysql_fetch_array("SELECT * FROM images");
    echo "<table border='1'>";
    while($row)
    
    $img = $row['name'];
    if ($count < $limit)
        
            if($count == 0)
                
                echo "<tr>";
                
            echo "<td>$img</td>";
        
    else
        
        $count = 0;
        echo "</tr><tr><td>$img</td>";
        
    $count++;
    
    echo "</td></table>";

【问题讨论】:

看来您是 php 新手。请consider learning the modern PDO database functions 而不是旧的和破坏的“mysql”功能。 有人向mysql函数寻求帮助,你感到惊讶吗?!你在打广告?!我不明白标题。我可以推荐你到这个网站:english.stackexchange.com 吗? @Alin Purcaru 您清楚地了解问题所在,您清楚地了解 Rahulpwns 的该功能存在问题,我认为这里不适合指出这一点,而是使用您的声誉进行编辑标题。 【参考方案1】:

mysql_fetch_array 期望参数 1 是一个有效的 mysql 查询对象。

所以,先调用 mysql_query。

$query = mysql_query("SELECT * FROM images");
$row = mysql_fetch_array($query);

【讨论】:

【参考方案2】:
$query = mysql_query("SELECT * FROM images");
while ($row = mysql_fetch_array($query))
 do_something();

【讨论】:

【参考方案3】:

你用错了:

$result = mysql_query("SELECT * from images");
$row = mysql_fetch_array($result);

然后做你需要的......

【讨论】:

【参考方案4】:

你向 mysql_fetch_array() 传递了错误的参数

function get_images()

    $limit = 5;
    $count = 0;
    $resource = mysql_query("SELECT * FROM images"$res);
    $row = mysql_fetch_array($resource );
    echo "<table border='1'>";
    while($row)
    

        $img = $row['name'];
        if ($count < $limit)
            
                if($count == 0)
                    
                    echo "<tr>";
                    
                echo "<td>$img</td>";
            
        else
            
            $count = 0;
            echo "</tr><tr><td>$img</td>";
            
        $count++;
        
        echo "</td></table>";
    

【讨论】:

【参考方案5】:

你的错误在这里:

$row = mysql_fetch_array("SELECT * FROM images");

你需要这样做:

$sql = "SELECT * FROM images"; 
$res = mysql_query ($sql); 
$row = mysql_fetch_array($res);

问题是您尝试以不正确的方式发送查询,首先您需要使用返回“资源”的 mysql_query 执行查询,然后使用该资源并使用 mysql_fetch_array 提取信息。

希望这会有所帮助:)

【讨论】:

【参考方案6】:

DB的连接在哪里?你应该这样使用;

$result = msql_query('SELECT id, name FROM people', $con);
    if (!$result) 
die('Query execution problem: ' . msql_error());


while ($row = msql_fetch_array($result, MSQL_ASSOC)) 
    echo $row['id'] . ': ' . $row['name'] . "\n";

【讨论】:

以上是关于需要有关 mysql_fetch_array() 错误的帮助?的主要内容,如果未能解决你的问题,请参考以下文章

从mysql转换为mysqli(mysql_fetch_array)[重复]

php while循环和foreach循环 mysql_fetch_array()

什么改变了循环中的条件:while (mysql_fetch_array($var))?

登录脚本中的“警告:mysql_fetch_array() 期望参数 1 是资源,布尔值”

mysql_fetch_array() 期望参数 1 是资源,给定对象 [重复]

PDO中的mysql_fetch_array