2013-04-19 4 views
0

Просьба получить этот код ошибки при выполнении этого сценария Предупреждение: mysql_fetch_assoc(): предоставленный аргумент не является допустимым ресурсом результата MySQL в /home/a777gqka/public_html/testserver/index.php в строке 47Ошибка при запуске скрипта

$query = mysql_query("SELECT 
e.id, 
ts.name AS stage_name, 
DATE_FORMAT(e.startdate, '2013-05-15') AS startdate, 
DATE_FORMAT(e.startdate, 'H:i') AS starttime, 
MIN(if(ep.number = 1, p.name, NULL)) AS home_team, 
if(e.status_type = \"notstarted\", \"-\",(MIN(if(ep.number = 1, r.value, NULL)))) AS home_score, 
if(e.status_type = \"notstarted\", \"-\",(MIN(if(ep.number = 2, r.value, NULL)))) AS away_score, 
MIN(if(ep.number = 2, p.name, NULL)) AS away_team, 
es.name AS status_text 
FROM 
tournament_template AS tt INNER JOIN 
tournament AS t ON t.tournament_templateFK = tt.id INNER JOIN 
tournament_stage AS ts ON t.id = ts.tournamentFK INNER JOIN 
event AS e ON ts.id = e.tournament_stageFK INNER JOIN 
event_participants AS ep ON e.id = ep.eventFK LEFT JOIN 
status_desc AS es ON e.status_descFK = es.id LEFT JOIN 
participant AS p ON ep.participantFK = p.id LEFT JOIN 
result AS r ON ep.id = r.event_participantsFK AND r.result_code = \"runningscore\" LEFT JOIN 
property AS prop ON e.id = prop.objectFK AND prop.object =\"event\" AND prop.name = \"Live\" 
WHERE 
tt.sportFK = ".$sportFK." AND 
e.startdate BETWEEN ".$TODAY_FROM." AND ".$TODAY_TO." AND 
prop.value = \"yes\" 
GROUP BY 
e.id 
ORDER BY 
ts.id, e.startdate, e.id"); 
while($row = mysql_fetch_assoc($query)){ 
// Do something 
} 
+0

Как насчет 'mysql_query (...) или die (mysql_error());'? ** ПРИМЕЧАНИЕ: ** Расширение Mysql PHP, которое официально устарело! – Rikesh

+0

попробуйте добавить 'или die ('Неверный запрос:'. Mysql_error());' after' e.startdate, e.id ");' – Fabio

+0

проверить ваш запрос, он возвращает некоторые значения или нет. 'mysql_num_rows()'. или путем эха запроса и выполнения на phpmyadmin. –

ответ

-1

пожалуйста, попробуйте этот

if(mysql_num_rows($query) > 0){ 

    while($row = mysql_fetch_assoc($query)){ 
    // Do something 
    } 
} 
else{ 
    echo "No record found"; 
} 
+0

почему вы можете проголосовать. –

+0

Я получаю такое же сообщение об ошибке – Younglegend

+0

$ query - это строка, а не ресурс. такое же сообщение об ошибке –

0
$query = "SELECT .... "; 
if($result = mysql_query($query)){ 
    while($row = mysql_fetch_assoc($result)){ 
      //... 
    } 
} else { 
    echo mysql_error(); 
} 

Кроме того, что вы должны вывести свои ошибки, вы должны при минимальном использовании MySQLi. Функция mysql_ * устарела и будет удалена с помощью PHP 5.5.

+0

У меня получилось, что Query был пуст как ответ. Означает ли это, что в моей базе данных нет совпадений? – Younglegend

+0

Очевидно, да. Но вы должны проверить с помощью mysql_num_rows() ', как это было предложено @Praveen. – pmayer

0

Вы не выполняете запрос.

добавить $result = mysql_query($query) перед время цикла и изменить тест петли для $row = mysql_fetch_assoc($result)

Кроме того, mysql_ * функции устарели и будут удалены в будущих обновлениях на PHP. Переключитесь на mysqli_ * или PDO.

Я лично предлагаю PDO.

+0

Я сделал это так, как вы указали но вот ответ, который я получаю Предупреждение: mysql_fetch_assoc(): предоставленный аргумент не является допустимым ресурсом результата MySQL в /home/a777gqka/public_html/testserver/index.php в строке 50 – Younglegend

0
$query = mysql_query("SELECT...") or die(mysql_error()); 
if ($query){ 
while($row = mysql_fetch_assoc($query)){ 
// Do something 
} 
} 
Смежные вопросы