错误如下:
Error:No database selected
Errno:1046
SQL::SELECT * FROM mypt_settings我已经把uc_client和uc_server复制到项目根目录下了
我的config.inc.php 配置如下:
<?phpdefine('UC_CONNECT', 'mysql'); // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
// mysql 是直接连接的数据库, 为了效率, 建议采用 mysql//数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
define('UC_DBHOST', 'localhost'); // UCenter 数据库主机
define('UC_DBUSER', 'root'); // UCenter 数据库用户名
define('UC_DBPW', ''); // UCenter 数据库密码
define('UC_DBNAME', 'db_passport'); // UCenter 数据库名称
define('UC_DBCHARSET', 'gbk'); // UCenter 数据库字符集
define('UC_DBTABLEPRE', 'mypt_'); // UCenter 数据库表前缀//通信相关
define('UC_KEY', '123456789'); // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define('UC_API', 'http://localhost/user/uc_server'); // UCenter 的 URL 地址, 在调用头像时依赖此常量
define('UC_CHARSET', 'gbk'); // UCenter 的字符集
define('UC_IP', ''); // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define('UC_APPID', 1); // 当前应用的 ID//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = 'localhost'; // 数据库服务器
$dbuser = 'root'; // 数据库用户名
$dbpw = ''; // 数据库密码
$dbname = 'db_passport'; // 数据库名
$pconnect = 0; // 数据库持久连接 0=关闭, 1=打开
$tablepre = 'mypt_';    // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = 'gbk'; // MySQL 字符集, 可选 'gbk', 'big5', 'utf8', 'latin1', 留空为按照论坛字符集设定//同步登录 Cookie 设置
$cookiedomain = '';  // cookie 作用域
$cookiepath = '/'; // cookie 作用路径

解决方案 »

  1.   

    我mysql  中 的确是有db_passport数据库的,不知道为啥原因,No database selected 
      

  2.   

    define('UC_DBNAME', 'db_passport');                // UCenter 数据库名称dbname = 'db_passport';            // 数据库名
    你的程序跟你的UCenter 是同一个数据库?
    是不是dbname = 'db_passport';  要换成别的
      

  3.   


    我觉的dbname这里根本不需要设置,我只需要调用注册接口,往里面写数据.
      

  4.   

    我也遇到这样的问题,不过我研究了一下解决了。define('UC_DBTABLEPRE', 'mypt_');            // UCenter 数据库表前缀
    是这里前缀有问题,我把它改成这样的形式:
    define('UC_DBTABLEPRE', 'db_passport.mypt_');            // UCenter 数据库表前缀
    我看ucenter的例子就是这样做的,表前缀前加了数据库名.
    然后就OK了。^_^