Я создаю приложение с PHP и SQL Server, я предпочитаю работать с журналами и иметь только некоторую общую информацию для пользователей в случае ошибки, например, номер ошибки, определенный мной в случае возможная известная ошибка и дата. но это дает мне множество проблем для отладки, я нашел PHP-журнал (php-erros.log) очень полезным, и все ошибки, которые я получаю, я могу видеть их довольно легко и быстро, не испортив код для отладки. Но у меня все еще есть проблема с SQL Server, я использую Microsoft SQL Server (10.50.1600.1), я нашел несколько файлов журнала (C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Log
), но у них есть только основные ошибки, и я не вижу ошибок в PHP-запросах, есть ли способ активировать или легко проверить эти ошибки?Журнал ошибок запросов SQL Server
ответ
Ваш «sqlsrv_fetch_array() ожидает параметр 1, чтобы быть ресурсом, логический данное» ошибка не SQL Server один, но PHP ,
Можем ли мы увидеть ваш код?
Вы пытаетесь извлечь данные из запроса на отказ. Вот правильный способ работы и посмотреть, что случилось:
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array("Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query($conn, $sql);
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row['LastName'].", ".$row['FirstName']."<br />";
}
sqlsrv_free_stmt($stmt);
Этот фрагмент кода:
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
это то, что вам нужно: тестирование результат запроса, прежде чем пытаться взять его, и сброс ошибки , Если вы хотите отправить SQL-ошибку в журнал PHP, вы можете использовать функцию error_log.
Включите отчеты об ошибках PHP, поместите это в верхней части вашего скрипта:
ini_set('display_errors',1);
error_reporting(E_ALL);
В этом разделе показано, как настроить драйверы sqlsrv и pdo_sqlsrv для ведения журнала: http://msdn.microsoft.com/en-us/library/cc296188.aspx. Вам также необходимо установить параметры log_errors и error_log в файле php.ini.
- 1. Журнал запросов SQL Server Compact Edition
- 2. Журнал запросов, выполненных на SQL Server
- 3. Laravel + ISS Server + Журнал неудачных запросов
- 4. журнал транзакции SQL Server
- 5. Обнуление запросов SQL Server
- 6. Огромный журнал ошибок с SQL Server 2005 Express (15 ГБ)
- 7. Как я могу intrepret этот журнал ошибок SQL Server
- 8. SQL Server 'Войти Сбой пользователя' не записывается в журнал ошибок
- 9. Найти журнал ошибок SQL Server на машине Linux
- 10. Журнал событий аудита SQL Server
- 11. Журнал регистрации SQL SERVER 2008
- 12. Журнал соединений Sql Server 2005
- 13. Прочитать журнал транзакций SQL Server
- 14. Частота запросов/оптимизация запросов SQL SQL Server
- 15. Журнал сообщений об ошибках MS SQL Server
- 16. Журнал ошибок NGINX отключается, когда включен журнал ошибок PHP
- 17. ошибок SQL Server
- 18. Включить журнал ошибок в Google Cloud SQL
- 19. Оптимизация запросов SQL Server?
- 20. SQL Server - Обновление запросов
- 21. Всего запросов SQL Server
- 22. Объединение запросов SQL Server
- 23. SQL Server - журналы запросов?
- 24. запросов в SQL Server
- 25. Группировка запросов SQL Server
- 26. запросов SQL Server вывода
- 27. Логика запросов SQL Server
- 28. SQL Server: группировка запросов
- 29. Глобальный журнал ошибок MySQL сервера
- 30. Журнал ошибок для сервера
я не хочу ошибок PHP, с этим я получить на PHP-errors.log тот же: «sqlsrv_fetch_array() ожидает параметр 1, чтобы быть ресурсом, логический дал» то, что я хочу, это ошибка SQL без необходимости чтобы возиться с кодом, я хочу что-то вроде php-errors.log, но для MSSQL. Является ли это возможным? – TeraJL
Я возьму это как нет. Я буду использовать в моем случае «sqlsrv_errors», чтобы проверить наличие ошибок, спасибо. – TeraJL