MySQL数据库中MySQL_real_connect的基本设置

此文章主要向大家讲述的是MySQL数据库中的MySQL_real_connect 连接参数的基本设置,我们在前一篇文章讲述关于进行MySQL(和PHP搭配之***组合)源程序代码的编译链接,但是没有讲述运行情况,在按照上一篇文章代码下进行编译运行后。

发现无法链接数据库文件,显然是在MySQL(和PHP搭配之***组合)_real_connect()函数中出现了问题。在MySQL(和PHP搭配之***组合)的英文手册中找到关于MySQL(和PHP搭配之***组合)_real_connect()的如下描述:

函数原型描述 MySQL数据库*MySQL(和PHP搭配之***组合)_real_connect(MySQL(和PHP搭配之***组合) *MySQL(和PHP搭配之***组合), const char *host, const char

  1. *user,   
  2. const char *passwd, const char *db, unsigned int port, const char *unix_socket,   
  3. unsigned long client_flag)  
  4. Description  
  5. MySQL(和PHP搭配之***组合)_real_connect() attempts to establish a connection to a MySQL(和PHP搭配之***组合) database engine   
  6. running on host. MySQL(和PHP搭配之***组合)_real_connect() must complete successfully before you can   
  7. execute any other API functions that require a valid MySQL(和PHP搭配之***组合) connection handle structure.  
  8. The parameters are specified as follows:  
  9. *  
  10. The first parameter should be the address of an existing MySQL(和PHP搭配之***组合) structure. Before  
  11. calling MySQL(和PHP搭配之***组合)_real_connect() you must call MySQL(和PHP搭配之***组合)_init() to initialize the MySQL(和PHP搭配之***组合)   
  12. structure. You can change a lot of connect options with the MySQL(和PHP搭配之***组合)_options() call.   
  13. See Section 17.2.3.47, Â“MySQL(和PHP搭配之***组合)_options()”.  
  14. *  
  15. The value of host may be either a hostname or an IP address. If host is NULL or the   
  16. string "localhost", a connection to the local host is assumed. If the OS supports sockets   
  17. (Unix) or named pipes (Windows), they are used instead of TCP/IP to connect to the server.  
  18. *  
  19. The user parameter contains the user's MySQL(和PHP搭配之***组合) login ID. If user is NULL or the empty   
  20. string "", the current user is assumed. Under Unix, this is the current login name. Under  
  21. Windows ODBC, the current username must be specified explicitly. See Section 18.1.9.2,  
  22. “Configuring a MyODBC DSN on Windows”.  
  23. *  
  24. The passwd parameter contains the password for user. If passwd is NULL, only entries  
  25. in the user table for the user that have a blank (empty) password field are checked for a   
  26. match. This allows the database administrator to set up the MySQL(和PHP搭配之***组合) privilege system in   
  27. such a way that users get different privileges depending on whether they have specified   
  28. a password.  
  29. Note: Do not attempt to encrypt the password before calling MySQL(和PHP搭配之***组合)_real_connect();  
  30. password encryption is handled automatically by the client API.  
  31. *  
  32. db is the database name. If db is not NULL, the connection sets the default database   
  33. to this value.  
  34. *  
  35. If port is not 0, the value is used as the port number for the TCP/IP connection. Note   
  36. that the host parameter determines the type of the connection.  
  37. *  
  38. If unix_socket is not NULL, the string specifies the socket or named pipe that should  
  39. be used. Note that the host parameter determines the type of the connection.  
  40. *  
  41. The value of client_flag is usually 0, but can be set to a combination of the following   
  42. flags to enable certain features:  

 

上面描述了五个参数的主要取值,MySQL数据库 *为MySQL(和PHP搭配之***组合)_init函数返回的指针,host为null或 // localhost时链接的是本地的计算机,当MySQL(和PHP搭配之***组合)默认安装在unix(或类unix)系统中,root账户是没// 有密码的,因此用户名使用root,密码为null,当db为空的时候,函数链接到默认数据库,在进行 // MySQL(和PHP搭配之***组合)安装时会存在默认的test数据库,因此此处可以使用test数据库名称,port端口为0,使用 // unix连接方式,unix_socket为null时,表明不使用socket或管道机制,***一个参数经常设置为0

 

  1. Flag Name Flag Description  
  2. CLIENT_COMPRESS Use compression protocol.  
  3. CLIENT_FOUND_ROWS Return the number of found (matched) rows, not the number of  
  4. changed rows.  
  5. CLIENT_IGNORE_SPACE Allow spaces after function names. Makes all functions names   
  6. reserved words.  
  7. CLIENT_INTERACTIVE Allow interactive_timeout seconds (instead of wait_timeout   
  8. seconds) of inactivity before closing the connection. The client's session wait_timeout   
  9. variable is set to the value of the session interactive_timeout variable.  
  10. CLIENT_LOCAL_FILES Enable LOAD DATA LOCAL handling.  
  11. CLIENT_MULTI_STATEMENTS Tell the server that the client may send multiple   
  12. statements in a single string (separated by Â‘;Â’). If this flag is not set,   
  13. multiple-statement execution is disabled. Added in MySQL(和PHP搭配之***组合) 4.1.  
  14. CLIENT_MULTI_RESULTS Tell the server that the client can handle multiple result   
  15. sets from multiple-statement executions or stored procedures. This is automatically   
  16. set if CLIENT_MULTI_STATEMENTS is set. Added in MySQL(和PHP搭配之***组合) 4.1.  
  17. CLIENT_NO_SCHEMA Don't allow the db_name.tbl_name.col_name syntax. This is for   
  18. ODBC. It causes the parser to generate an error if you use that syntax, which is useful  
  19. for trapping bugs in some ODBC programs.  
  20. CLIENT_ODBC The client is an ODBC client. This changes MySQL(和PHP搭配之***组合)d to be more  
  21. ODBC-friendly.  
  22. CLIENT_SSL Use SSL (encrypted protocol). This option should not be set by   
  23. application programs; it is set internally in the client library. Instead, use   
  24. MySQL(和PHP搭配之***组合)_ssl_set() before calling MySQL(和PHP搭配之***组合)_real_connect().  
  25. For some parameters, it is possible to have the value taken from an option file rather   
  26. than from an explicit value in the MySQL(和PHP搭配之***组合)_real_connect() call. To do this, call   
  27. MySQL(和PHP搭配之***组合)_options() with the MySQL(和PHP搭配之***组合)_READ_DEFAULT_FILE or MySQL(和PHP搭配之***组合)_READ_DEFAULT_GROUP option   
  28. before calling MySQL(和PHP搭配之***组合)_real_connect(). Then, in the MySQL(和PHP搭配之***组合)_real_connect() call, specify   
  29. the Â“no-value” value for each parameter to be read from an option file:  
  30. *  
  31. For host, specify a value of NULL or the empty string ("").  
  32. *  
  33. For user, specify a value of NULL or the empty string.  
  34. *  
  35. For passwd, specify a value of NULL. (For the password, a value of the empty string in  
  36. the MySQL(和PHP搭配之***组合)_real_connect() call cannot be overridden in an option file, because the empty   
  37. string indicates explicitly that the MySQL(和PHP搭配之***组合) account must have an empty password.)  
  38. *  
  39. For db, specify a value of NULL or the empty string.  
  40. *  
  41. For port, specify a value of 0.  
  42. *  
  43. For unix_socket, specify a value of NULL.   
  44. If no value is found in an option file for a parameter, its default value is used as   
  45. indicated in the descriptions given earlier in this section.  
  46. Return Values  
  47. A MySQL(和PHP搭配之***组合)* connection handle if the connection was successful, NULL if the connection   
  48. was unsuccessful. For a successful connection, the return value is the same as the value   
  49. of the first parameter.  

返回值:当连接成功时,返回MySQL数据库连接句柄,失败,返回NULL。当成功时,返回值与***个参数值是// 相同的。

 

  1. Errors  
  2. *  
  3. CR_CONN_HOST_ERROR  
  4. Failed to connect to the MySQL(和PHP搭配之***组合) server.  
  5. *  
  6. CR_CONNECTION_ERROR  
  7. Failed to connect to the local MySQL(和PHP搭配之***组合) server.  
  8. *  
  9. CR_IPSOCK_ERROR  
  10. Failed to create an IP socket.  
  11. *  
  12. CR_OUT_OF_MEMORY  
  13. Out of memory.  
  14. *  
  15. CR_SOCKET_CREATE_ERROR  
  16. Failed to create a Unix socket.  
  17. *  
  18. CR_UNKNOWN_HOST  
  19. Failed to find the IP address for the hostname.  
  20. *  
  21. CR_VERSION_ERROR  
  22. A protocol mismatch resulted from attempting to connect to a server with a client   
  23. library that uses a different protocol version. This can happen if you use a very old   
  24. client library to connect to a new server that wasn't started with the --old-protocol   
  25. option.  
  26. *  
  27. CR_NAMEDPIPEOPEN_ERROR  
  28. Failed to create a named pipe on Windows.  
  29. *  
  30. CR_NAMEDPIPEWAIT_ERROR  
  31. Failed to wait for a named pipe on Windows.  
  32. *  
  33. CR_NAMEDPIPESETSTATE_ERROR  
  34. Failed to get a pipe handler on Windows.  
  35. *  
  36. CR_SERVER_LOST  
  37. If connect_timeout > 0 and it took longer than connect_timeout seconds to connect to   
  38. the server or if the server died while executing the init-command.   

 

因此MySQL(和PHP搭配之***组合)_real_connect()函数调用为:

MySQL(和PHP搭配之***组合)_real_connect(MySQL数据库,”localhost”,”root”,NULL,”test”,0,NULL,0);

判断是否出错,出错调用MySQL(和PHP搭配之***组合)_error()函数显示出错信息,或使用MySQL(和PHP搭配之***组合)_errno()函数获取出错代号。

【编辑推荐】

  1. MySQL EMS的乱码问题的歼灭
  2. MySQL表索引遭到破坏的处理方法
  3. 开源携手MySQL数据库的发展前景
  4. MySQL root 密码忘记的破解
  5. Linux上实现MySQL 5的手动安装

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/228549.html<

赞 (0)
管理的头像管理
上一篇2025-04-18 08:45
下一篇 2025-04-18 08:47

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注