Почему mysql_query () возвращает TRUE с помощью SELECT выражение?

Согласно руководству mysql_query () и всему, что я знаю об этой функции, которую я использовал так много раз, она может либо возвращать ресурс, либо ЛОЖЬ , если запрос представляет собой SELECT . Тем не менее, время от времени он возвращает ИСТИНА .

Как это может быть? Раньше этого никогда не было. Это ошибка PHP 5.3.2? Кто-нибудь знает что-нибудь об этом?

Код примерно такой:

if (!$resource = mysql_query($query, $handle)) {
    throw some exception;
}

var_dump($query);
if ($resource === true && strpos($query, 'SELECT') !== false) {
    throw new Exception('mysql_query() returned TRUE for SELECT');
}

Это тоже довольно сложно воспроизвести. Это случается только время от времени. Я также заметил, что это, вероятно, происходит в то же время, когда сервер внезапно прерывает соединение, и в этом случае он должен вернуть FALSE ...

9
задан rid 1 June 2011 в 22:59
поделиться