在mysql_fetch_array()的相关错误方面需要帮助?

时间:2011-03-15 21:31:17

标签: php mysql arrays fetch

当我尝试运行此代码时,我收到错误:

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

我一直在尝试调试它,但我似乎不能。

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

id(int)| name(varchar)| image(BLOB)|描述(文字)| url(文字)|关键字(文字)

有人可以尝试解决这个问题吗?!?!?!

该功能写在下面......

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

6 个答案:

答案 0 :(得分:4)

你错了:

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

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

答案 1 :(得分:1)

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

所以,先调用mysql_query。

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

$query = mysql_query("SELECT * FROM images");
while ($row = mysql_fetch_array($query)){
 do_something();
}

答案 4 :(得分:0)

您已将错误的参数传递给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 :(得分:0)

您的错误在这里:

$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提取信息。

希望这有助于:)