Mysql Fetch Array - PullRequest
       5

Mysql Fetch Array

0 голосов
/ 13 сентября 2011

У меня проблемы с mysql_fetch_array.Это говорит:

Предупреждение: mysql_fetch_assoc () ожидает, что параметр 1 будет ресурсом, строка приведена в /home/yeyddhiw/public_html/v.php в строке 49

Ия действительно не вижу своей проблемы.

Мой код такой:

<?php session_start(); ?>
<?php 
if ($_SESSION['username'])
{
if($_SESSION['class'] == 'mod')
{
}

else
{
    header("location:/");
    exit();
}

}
else
{
header("location:/");
exit();
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org    /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Funnyshit</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body bgcolor="#171717">

<div id="head" align="center">
    <?php include 'head.php';?>
</div>

<div id="content" align="center">
<?php
if ($_GET['id'])
{
    include 'dbconnect_images.php';
    $id = $_GET['id'];
    $id = mysql_real_escape_string($id);


    $sql = "SELECT * FROM images_notvalid WHERE id='$id')";
    $result = mysql_query($sql);

    while($row = mysql_fetch_assoc($result))
    {
        echo $row['name'];
        echo $row['path'];
        echo $row['uploader'];
        $sql2 = "INSERT INTO images (name, path, uploader) VALUES ('$name', '$path', '$uploader')";
        $result2 = mysql_query($sql2);

        $delete = "DELETE FROM images_notvalid WHERE name='$name' AND uploader='$uploader'";
        $result3 = mysql_query($delete);
        mysql_close($conn);
        echo '<div class="error">Bildet er validert!</div>';
    }

}

else
{
    echo '<div class="error">Her mangler det data!</div>';
}
?>
</div>

1 Ответ

0 голосов
/ 13 сентября 2011
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))

Вы никогда не выполняли базовую проверку ошибок по результату mysql_query (то есть FALSE, если произошла ошибка).

В наивном смысле это может означать:

$result = mysql_query($sql);
if (!$result)
   die(mysql_error());
while($row = mysql_fetch_assoc($result))

При этом вы увидите сообщение об ошибке, сообщающее, что ваш SQL-запрос недействителен: в его конце есть ), которого там быть не должно.

Кстати, $result2 и $result3 являются избыточными, поскольку операторы INSERT / DELETE не могут вернуть вам данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...