mysql_query('faka') or ......

camka

не самка
mysql_query('faka') or ......

Такой код пашет:
PHP:
function kika($k,$kl)
{
    echo mysql_error();
}

mysql_query("fas")or kika(1,3);
результат:

Код:
You have an error in your SQL syntax near 'fas' at line 1
такой тоже:
PHP:
function kika($k,$kl)
{
    echo mysql_error();
}
return (kika(1,2));
результат:

Код:
You have an error in your SQL syntax near 'fas' at line 1
но вот такой уже нет:

PHP:
function kika($k,$kl)
{
    echo mysql_error();
}
mysql_query("fas")or return(kika(1,2));
результат:
Код:
Parse error: parse error, unexpected T_RETURN in C:\Program Files\Apache Group\Apache2\htdocs\tests\die_test.php on line 7
Идея такова. При лажании запроса должна выполнятся функция и после должен быть произведён выход из текущей функции. Типа ведение статистики ошибок связанных с базой даных.
сразу оговорюсь код типа:
PHP:
function kika($k,$kl)
{
    echo mysql_error();
    return strlen(mysql_error());
}
mysql_query("fas");
if (strlen(mysql_error())
{
       kika(1,2);
       return false;
}
не катит. хочется кратенько
 

DiMA

php.spb.ru
Команда форума
> но вот такой уже нет:

учимся подсчитывать кол-во открывающих и закрывающих скобок

вопрос тянет на бред..
 

Rat

Guest
Скобки вроде нормально, а вот return не по теме применяется за пределами функций. Надо писать die.

А ошибки выводимые автоматом если надо, можно подавлять символом @ перед функцией запроса.

"fas" - это реальный запрос или эмуляция ошибки? ;)
 

camka

не самка
return не по теме применяется за пределами функций
в принципе return может применяться и в основном теле программы. работает как exit.

If return() is called from within the main script file, then script execution ends

но к примеру сделаем так:
PHP:
function kika($k,$kl)
{
    echo mysql_error();
    return (false);
}


function zaza()
{
    mysql_query("fas")or kika(1,3);//return(kika(1,3));
}

zaza();
имеемс:
Код:
You have an error in your SQL syntax near 'fas' at line 1
marazm

выполняется. Можно предположить что вместо die можно подставить любую функцию. а чем return() плоха!?
вот и порешил. а почему бы не сделать так:
PHP:
function kika($k,$kl)
{
    echo mysql_error();
    return (false);
}

function zaza()
{
    mysql_query("fas")or return(kika(1,3));
    echo 'marazm';
}

zaza();
то есть если в заросе ошибка и он не выполняется то надо выйти из zaza() но предварительно запустить kika() для обработки полученной ошибки бд (ну скажем писать лог ошибок бд передавая как параметры к примеру текст запроса и имя процедуры в которой всё лажанулось)

но это почему-то не тянет и даёт

Код:
Parse error: parse error in c:\program files\apache group\apache\htdocs\test\return.php on line 12
12 строка и есть с return'ом.

fas это эмуляция ошибки.

вопрос тянет на бред..
обидно
 

Rat

Guest
Видимо, return нельзя вызвать в таком контексте.
Чем тебя не устраивает die или, что едино, exit?

Или попробуй
PHP:
if(!mysql_query("fas")) return kika(1,3);
раз это вызов ретурну ;)
 

Rat

Guest
exit (die) - это функция, а return - языковая конструкция.
А лексема ххх or ууу предполагает сравнение логических величин. По видимому, всё дело в этом.

Используй if, как я писал выше -- красиво, а главное -- работает ;)
 

Rat

Guest
exit (die) - это функция, а return - языковая конструкция.
А лексема ххх or ууу предполагает сравнение логических величин. По видимому, всё дело в этом.

Используй if, как я писал выше -- красиво, а главное -- работает ;)
 

DiMA

php.spb.ru
Команда форума
> > вопрос тянет на бред..

> обидно

ты выдал много наблюдений, но не приложил ни малейших усилий решить их
 
Сверху