Нахождение жулика <!----> в [закрытом] PHP

Вы теряете способность внести возрастающие изменения (рефакторинги кода) и все еще чувствовать себя теплыми и нечеткими, что код делает то, что это, как предполагается. Вы теряете практически свободную и безболезненную мотивацию для структурирования кода с минимальными явными зависимостями. IOW, Вы будете в состоянии встроить много зависимостей без того, чтобы замечать. Необходимо было использовать TDD, который зависимости разоблачат как боль/запах при записи тестов.

6
задан unrelativity 29 October 2011 в 05:09
поделиться

5 ответов

Я нашел виновника.

Так или иначе, кладж, который у меня есть в функции для скрытия ошибки MySQL, вызывает проблемы только в одной из моих веток, даже если функция и где она вызывается from не изменился между двумя ветвями.

Для заинтересованных, рассматриваемый код:

function isexistinguser($uname,$pwd)
{
    global $location;

    $uname = mysql_real_escape_string($uname);

    $result = mysql_query("SELECT * FROM users WHERE user_username = '$uname'");

    $hit = 0;
    $rowcounted = false;
    $salt = '';

    echo '<!--'; // cheap fix for mysql error - FIND A BETTER WAY!

    while($row = mysql_fetch_array($result))
    {       
        // Do stuff to figure out what to return
    }

    echo '-->'; // cheap fix for mysql error - FIND A BETTER WAY!

    return array($hit,$salt);
}
3
ответ дан 17 December 2019 в 07:05
поделиться

Я просмотрел репозиторий git, который вы опубликовали, и его нет. Вы можете попробовать провести разницу между копией на github и текущей копией, так как изменение касается внесенных вами изменений.


Если вы используете IDE, выполните глобальный поиск файла по строке символов. Подобные «ошибки» могут быть неприятными.

1
ответ дан 17 December 2019 в 07:05
поделиться

Я бы поискал «злую» строку:

grep -R '\ - \ ->' / your / folder

0
ответ дан 17 December 2019 в 07:05
поделиться

Похоже на ситуацию, когда grep будет удобен, если вы можете использовать его через cygwin или непосредственно в Linux. Быстрый пример простого поиска файлов с этим комментарием HTML

grep -R "<\!---->" ./*

Это должно сузить поиск.

0
ответ дан 17 December 2019 в 07:05
поделиться

Об обработке ошибок. Первый способ справиться с этим - определить и использовать ваши собственные обработчики вместо стандартных php с помощью set_error_handler .

В качестве простого исправления измените эту строку: $ result = mysql_query (" ВЫБРАТЬ * ИЗ пользователей ГДЕ user_username = '$ uname' "); примерно так:

$result = mysql_query("SELECT * FROM users WHERE user_username = '$uname'");
if(!$result || !is_resource($result){
  return array(0, '');
}

Чтобы покончить с этим, я рекомендую вам проверить PDO , чтобы использовать базы данных.

0
ответ дан 17 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: