2010-09-13 4 views
1

У меня есть сложный код. Комплекс, но он был работающих.Почему мой PHP перестает работать?

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

Так что я немного сравнил файл, прочитал и отчитал код и убедился, что мои изменения ничего не сломали.

Чтобы проверить эту теорию, я собрал чрезвычайно простую тестовую программу:

<?php 
$connection = odbc_connect("Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mysql;Option=3;", "root", ""); 
var_dump($connection); 
echo '<br>'; 
    $result = @odbc_exec($connection, 'show version()'); 
    var_dump($result); 
?> 

в результате которого

resource(2) of type (odbc link) 
bool(false) 

Странная вещь, что odbc_connect() завершается успешно, но самый простой MySql Я могу думать о неудаче.

Btw, я проверил в командной строке & сервер MySql вверх & работает (Xampp) и сообщает v 5.1.41.

Очевидно, что я пропускаю что-то очень основное, но что?

+2

@mawg вынимают знак @, так что вы можете увидеть, что ошибка даёт –

+0

Включите ошибки и удалите @ перед odbc_exec. Вы можете увидеть что-то ... – AlexV

+1

Почему вы используете ODBC для подключения к MySQL? Почему бы не использовать собственный драйвер или PDO? – ircmaxell

ответ

2

Может быть, драйвер ODBC «хочет», чтобы сказать вам кое-что о том, что вызывает ошибку ...

$result = @odbc_exec($connection, 'show version()'); 
if (!$result) { 
    printf("error: %d %s", odbc_error($connection), odbc_errormsg($connection)); 
} 
else { 
    echo "ok"; 
} 

см http://docs.php.net/odbc_error и http://docs.php.net/odbc_errormsg

4

Это самый простой MYSQL запрос я могу думать:

select 1 

Это должно помочь вам определить, если соединение работает или если проблема заключается в другом.

Смежные вопросы