8
MySQL APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
8.1
MySQL PHP API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .539
8.1.1
Common Problems with MySQL and PHP . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .539
8.2
MySQL Perl API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
8.2.1
DBI with DBD::mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
8.2.2
The DBI Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
8.2.3
More DBI/DBD Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
8.3
MySQL ODBC Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
8.3.1
How To Install MyODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
8.3.2
How to Fill in the Various Fields in the ODBC Administrator Program . . . . . 547
8.3.3
Connect parameters for MyODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .547
8.3.4
How to Report Problems with MyODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .549
8.3.5
Programs Known to Work with MyODBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
8.3.6
How to Get the Value of an AUTO_INCREMENT Column in ODBC. . . . . . . . 554
8.3.7
Reporting Problems with MyODBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
8.4
MySQL C API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
8.4.1
C API Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
8.4.2
C API Function Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .558
8.4.3
C API Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
8.4.3.1
mysql_affected_rows() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
8.4.3.2
mysql_change_user() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .563
8.4.3.3
mysql_character_set_name(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .564
8.4.3.4
mysql_close() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
8.4.3.6
mysql_create_db(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
8.4.3.8
mysql_debug() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
8.4.3.10
mysql_dump_debug_info() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
8.4.3.11
mysql_eof() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
8.4.3.12
mysql_errno() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
8.4.3.14
mysql_escape_string() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .571
8.4.3.16
mysql_fetch_fields() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
8.4.3.17
mysql_fetch_field_direct(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .573
8.4.3.19
mysql_fetch_row() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
8.4.3.20
mysql_field_count() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .575
8.4.3.21
mysql_field_seek() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
8.4.3.22
mysql_field_tell() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
8.4.3.24
mysql_get_client_info() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
8.4.3.27
mysql_get_server_info() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .579
8.4.3.29
mysql_init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
8.4.3.31
mysql_kill() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
8.4.3.33
mysql_list_fields() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
8.4.3.34
mysql_list_processes() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
8.4.3.36
mysql_num_fields() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .584
8.4.3.37
mysql_num_rows(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .585
8.4.3.38
mysql_options() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
8.4.3.39
mysql_ping() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .588
8.4.3.41
mysql_real_connect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
8.4.3.42
mysql_real_escape_string(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .591
8.4.3.43
mysql_real_query() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
8.4.3.44
mysql_reload() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .593
8.4.3.45
mysql_row_seek(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
8.4.3.47
mysql_select_db() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .595
8.4.3.49
mysql_stat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
8.4.3.51
mysql_thread_id() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
8.4.3.52
mysql_use_result() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
8.4.4
C Threaded Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .599
8.4.4.3
mysql_thread_end() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .600
8.4.4.4
mysql_thread_safe() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
8.4.5
C Embedded Server Function Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
8.4.5.1
mysql_server_init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .601
8.4.5.2
mysql_server_end() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .602
8.4.6
Common questions and problems when using the C API . . . . . . . . . . . . . . . 602
8.4.6.1
Why Is It that After mysql_query()
Returns Success, mysql_store_result()
Sometimes Returns NULL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
8.4.6.2
What Results Can I Get From a Query?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
8.4.6.3
How Can I Get the Unique ID for the Last Inserted Row? . . . . . . . . . . . . . . 603
8.4.6.4
Problems Linking with the C API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .603
8.4.7
Building Client Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .604
8.4.8
How to Make a Threaded Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
8.4.9
libmysqld, the Embedded MySQL Server Library . . . . . . . . . . . . . . . . . . . . . . . .605
8.4.9.1
Overview of the Embedded MySQL Server Library . . . .. . . . . . . . . . . . . . . . . 605
8.4.9.2
Compiling Programs with libmysqld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
8.4.9.3
Restrictions when using the Embedded MySQL Server. . . . . . . . . . . . . . . . 606
8.4.9.4
Using Option Files with the Embedded Server. . . . . . . . . . . . . . . . . . . . . . . . 606
8.4.9.5
Things left to do in Embedded Server (TODO) . . . . . . . . . . . . . . . . . . . . . . . .607
8.4.9.6
A Simple Embedded Server Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
8.4.9.7
Licensing the Embedded Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611
8.5
MySQL C++ APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611
8.5.1
Borland C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
8.6
MySQL Java Connectivity (JDBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
8.7
MySQL Python APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611
8.8
MySQL Tcl APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .612
8.9
MySQL Eifiel wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .612
Chapter_1
|
Chapter_2
|
Chapter_3
|
Chapter_4
|
Chapter_5
|
Chapter_6
|
Chapter_7
|
Chapter_8
|
Chapter_9
Return to Table of Contents
.com
.net
.org
Web Hosting Services
UNIX WEB HOSTING
SUPPORT & FAQ's
TERMS OF USE
Domain Services
DOMAIN REGISTRATION
MANAGE YOUR ACCOUNT
SUPPORT & FAQ's
TERMS OF USE
SITE MAP
Home
Hosting Plans
|
Domain Registration
|
About Us
|
Contact Us
|
Site Map
Terms of Use
|
Privacy Policy
|
Guarantees
Merchant Accounts
SpiritHost - web hosting for spiritual and education sites
SpiritHit.com - Religious and Spiritual Portal
Copyright © 2002
Dyntex
Group
, Inc. All Rights Reserved