Обращение к сторонней базе данных
-
здравствуйте, столкнулся с такой проблемой, мне нужно при регистрации пользователя запрашивать данные, которые лежат в другой базе данных, для изменения формы регистрации использую плагин profile-builder, но в нем эта функция не реализована, поэтому приходится вручную добавлять дополнительные поля и проверки для них, соответственно добавляю функцию, в которой соединяюсь с базой, запрашиваю нужные поля и провожу проверки. потом база закрывается и продолжается стандартная работа плагина, но он не создает нового пользователя и говорит, что нет соединения с базой данных, если я ставлю
echo wpsql_error();
функция обращения к другой базе выглядит так:<?php function device_exists($sn, $imei) { $web = pg_connect("host=localhost dbname=web user=wordpress password=wordpress"); if (!$web) { echo "<center>Произошла ошибка при соединении с базой web.Попробуйте зарегистрироваться еще раз.<br>"; echo "<input type='button' value='Вернутся к редактированию данных' onClick='history.go(-1)'></center>"; exit; } $device_test = pg_query($web,'SELECT imei, sn, regstr FROM web.device'); if (!$device_test) { echo "<center>Произошла ошибка при обращении к списку устройств. Попробуйте зарегистрироваться еще раз.<br>"; echo "<input type='button' value='Вернутся к редактированию данных' onClick='history.go(-1)'></center>"; } $device_sn = 0; $device_imei = 0; $device_reg = 0; while ($row = pg_fetch_array($device_test)) { if(strcmp(strtolower($row['sn']), strtolower($sn))==0) { $device_sn = 1; if(strcmp(strtolower($row['imei']) , strtolower($imei))==0) { $device_imei = 1; if(strcmp(strtolower($row['regstr']), 'f')== 0 ) { $device_reg = 1; } } } } pg_close($web); if($device_reg == 1){ return false; }else return true; } function check_device($sn, $imei) { $web = pg_connect("host=localhost dbname=web user=wordpress password=wordpress"); if (!$web) { echo "<center>Произошла ошибка при соединении с базой web.Попробуйте зарегистрироваться еще раз.<br>"; echo "<input type='button' value='Вернутся к редактированию данных' onClick='history.go(-1)'></center>"; exit; } $device_test = pg_query($web,'SELECT imei, sn, regstr FROM web.device'); if (!$device_test) { echo "<center>Произошла ошибка при обращении к списку устройств. Попробуйте зарегистрироваться еще раз.<br>"; echo "<input type='button' value='Вернутся к редактированию данных' onClick='history.go(-1)'></center>"; } $device_sn = 0; $device_imei = 0; $device_reg = 0; /*ПРОВЕРЯЕМ СЕРИЙНИК И IMEI*/ while ($row = pg_fetch_array($device_test)) { if(strcmp(strtolower($row['sn']), strtolower($sn))==0) { $device_sn = 1; if(strcmp(strtolower($row['imei']) , strtolower($imei))==0) { $device_imei = 1; if(strcmp(strtolower($row['regstr']), 'f')== 0 ) { $device_reg = 1; } } } } pg_close($web); if($device_sn == 1){ if($device_imei == 1){ return true; }else return false; }else return false; } ?>собственно вопросы:
1) что я делаю неправильно?
2) как мне подключить эту базу?
Тема «Обращение к сторонней базе данных» закрыта для новых ответов.