2016-10-06 4 views
0

Я пытаюсь сделать сайт с локальным хостингом на WordPress, используя соединения ODBC, которые я использую для бизнес-аналитики.Соединение ODBC на сайте wordpress

Я сделал плагин и стараюсь ссылаться на функции в shortcode (потому что это единственный способ, которым я это знаю).

Ниже мой код:

$dsn = '****'; 
$user = '****'; 
$pw = '****'; 
$connect = odbc_connect($dsn, $user, $pw); 
if ($connect == true){ 
    echo '<br> connected <br>'; 
} else{ 
    echo '<br> not connected <br>'; 
} 

Из того, что я понимаю, это должно быть тестирование, чтобы увидеть, если соединение открыто, и это дает мне ошибку (размещенную ниже). Мой большой вопрос: если мне нужно установить драйвер ODBC на сайт, чтобы он смог выполнить соединение.

Если да, то где я могу найти это?

Я использую четыре сервера MS SQL в домене, а также хочу иметь возможность работать с доступом и преуспеть.

Fatal error: Uncaught Error: Call to undefined function odbc_connect() in C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-content\plugins\HPM-custom\HPM.php:54

Stack trace: 
#0 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-includes\shortcodes.php(326):HPM_API_E2('', '', 'HPM_API_E2')  
#1 [internal function]: do_shortcode_tag(Array) 
#2 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-includes\shortcodes.php(223):preg_replace_callback('/\\[(\\[?)(HPM_AP...','do_shortcode_ta...','[HPM_API_E2]\n[H...') 
#3 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-includes\plugin.php(235):do_shortcode('[HPM_API_E2]\n[H...') 
#4 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-includes\post-template.php(240):apply_filters('the_content', '[HPM_API_E2]\n[H...') 
#5 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-content\themes\generatepress\content-page.php(24):the_content() 
#6 C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-includes\template.php(574):require('C:\\Bitnami\\word...') 
#7 C:\Bitnam in C:\Bitnami\wordpress-4.5.3-1\apps\wordpress\htdocs\wp-content\plugins\HPM-custom\HPM.php on line 54 

ответ

0

$connect никогда не будет правдой. Это связано с тем, что odbc_connect() не возвращает логическое значение, когда оно завершается успешно. Вместо этого он возвращает connection ID.

Если соединение не выполнено, оно вернет ошибку или false, поэтому оно будет в else. Если он преуспеет, он содержит ID и должен оцениваться до true.

if ($connect){ 
    echo '<br> connected <br>'; 
} else{ 
    echo '<br> not connected <br>'; 
} 

Edit:

Вы только что добавили сообщение об ошибке вы получаете. Эта ошибка означает, что function недоступен, и это, скорее всего, будет вызвано отсутствием ODBC drivers для вашего php-клиента. Кто-то сделал это сообщение о том, как установить это:

Call to undefined function odbc_connect() message while connecting SAP Hana database

Я надеюсь, что это помогает.

+0

Спасибо, что специально очищает то, что я не знаю. Спасибо вам за помощь! – pharman

+0

Нет проблем! Не могли бы вы так хорошо обновить мой ответ, если бы это было полезно? :) – Kevinvhengst

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