This document provides a tutorial on using the MySQL database system. It covers connecting to a MySQL server, entering queries, creating and selecting a database, creating and populating tables, and retrieving data from tables. Various SQL queries are demonstrated, including selecting, sorting, pattern matching, counting rows, and joining tables.
This document is a book about expert Oracle database architecture for versions 9i and 10g. It discusses programming techniques and solutions. The book covers topics such as developing successful Oracle applications, database architecture overview, database files, memory structures, SQL and PL/SQL, concurrency and locking, performance, backup and recovery, and more. It aims to help readers understand Oracle architecture and how to write efficient and optimized database applications.
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrFelippe Costa
Here are the commands to configure the console baud rate on each platform:
ProVision:
ProVision(config)# console baud-rate 9600
Comware 5:
[Comware5]user-interface aux 0
[Comware5-ui-aux0]speed 9600
Cisco:
Cisco(config)#line console 0
Cisco(config-line)#speed 9600
The side-by-side comparison shows that on ProVision the baud rate is configured under the console command while on Comware 5 and Cisco it is configured under the user-interface and line console commands respectively.
Microservices with Dockers and KubernetesManish Chopra
This is a customized study guide to get started with Microservices using Docker and Kubernetes. This guide attempts to bridge the gap in the least possible time, and covers the essentials features to get started with Microservices, Docker, and Kubernetes.
This document provides an administrator's guide for webMethods Broker version 8.2. It begins with title and copyright information and a table of contents. The document then covers topics including an overview of the Broker, its architecture and components, using My webMethods to administer Broker, and configuring the Broker Monitor.
This document provides a summary of the SOAP Developer's Guide Version 7.1.1:
- It is a guide for developing solutions using SOAP on the webMethods Integration Server.
- It describes SOAP support on the Integration Server, including receiving and sending SOAP messages.
- It covers using the default SOAP processor to handle incoming requests, building target services, composing and sending SOAP messages, and using the SOAP RPC client.
This document provides a tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding a HomeController to handle the home page. Next, a StoreController is added to manage store browsing functionality, including listing music genres, browsing albums in a genre, and viewing album details. The tutorial then covers data access using Entity Framework Code First, adding validation, membership, a shopping cart, registration and checkout functionality. It concludes by implementing additional site features like navigation, layout updates, and displaying top selling albums on the home page.
This document provides an overview and tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding prerequisite software. Controllers and views are then added to implement basic pages for the home, store index, and individual albums. The tutorial progresses to adding data access with Entity Framework Code First, validation, authorization, a shopping cart, registration/checkout, and final styling. Each section builds upon the previous to create a full-featured e-commerce music store application using ASP.NET MVC patterns and practices.
This document provides a tutorial on using the MySQL database system. It covers connecting to a MySQL server, entering queries, creating and selecting a database, creating and populating tables, and retrieving data from tables. Various SQL queries are demonstrated, including selecting, sorting, pattern matching, counting rows, and joining tables.
This document is a book about expert Oracle database architecture for versions 9i and 10g. It discusses programming techniques and solutions. The book covers topics such as developing successful Oracle applications, database architecture overview, database files, memory structures, SQL and PL/SQL, concurrency and locking, performance, backup and recovery, and more. It aims to help readers understand Oracle architecture and how to write efficient and optimized database applications.
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrFelippe Costa
Here are the commands to configure the console baud rate on each platform:
ProVision:
ProVision(config)# console baud-rate 9600
Comware 5:
[Comware5]user-interface aux 0
[Comware5-ui-aux0]speed 9600
Cisco:
Cisco(config)#line console 0
Cisco(config-line)#speed 9600
The side-by-side comparison shows that on ProVision the baud rate is configured under the console command while on Comware 5 and Cisco it is configured under the user-interface and line console commands respectively.
Microservices with Dockers and KubernetesManish Chopra
This is a customized study guide to get started with Microservices using Docker and Kubernetes. This guide attempts to bridge the gap in the least possible time, and covers the essentials features to get started with Microservices, Docker, and Kubernetes.
This document provides an administrator's guide for webMethods Broker version 8.2. It begins with title and copyright information and a table of contents. The document then covers topics including an overview of the Broker, its architecture and components, using My webMethods to administer Broker, and configuring the Broker Monitor.
This document provides a summary of the SOAP Developer's Guide Version 7.1.1:
- It is a guide for developing solutions using SOAP on the webMethods Integration Server.
- It describes SOAP support on the Integration Server, including receiving and sending SOAP messages.
- It covers using the default SOAP processor to handle incoming requests, building target services, composing and sending SOAP messages, and using the SOAP RPC client.
This document provides a tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding a HomeController to handle the home page. Next, a StoreController is added to manage store browsing functionality, including listing music genres, browsing albums in a genre, and viewing album details. The tutorial then covers data access using Entity Framework Code First, adding validation, membership, a shopping cart, registration and checkout functionality. It concludes by implementing additional site features like navigation, layout updates, and displaying top selling albums on the home page.
This document provides an overview and tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding prerequisite software. Controllers and views are then added to implement basic pages for the home, store index, and individual albums. The tutorial progresses to adding data access with Entity Framework Code First, validation, authorization, a shopping cart, registration/checkout, and final styling. Each section builds upon the previous to create a full-featured e-commerce music store application using ASP.NET MVC patterns and practices.
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the website locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document provides guidelines for hardening the security of Citrix XenServer virtualization platforms. It outlines configuration settings for general system security like restricting root access, enabling encryption, and updating packages. It also includes recommendations for network, hypervisor, and virtual machine settings such as separating interfaces by task, restricting unencrypted connections, disabling promiscuous mode, and more. Implementing the settings in this guide helps reduce the attack surface and prevent unauthorized access to XenServer systems and VMs.
This document is the phpMyAdmin documentation for version 4.8.0-dev. It provides information on installing and configuring phpMyAdmin, including supported features, requirements, different installation methods, authentication modes, and extensive configuration options. It also covers usage instructions and frequently asked questions about phpMyAdmin and common issues.
This document is the administrator's guide for Zimbra Collaboration Server (ZCS) 8.0 Open Source Edition. It provides information on installing and configuring the core components of ZCS, including the mailbox server, LDAP service, mail transfer agent, and proxy server. It also covers using the administration console and managing configuration settings at the global, domain, and server level.
Red hat storage-3-administration_guide-en-usTommy Lee
This document is the Red Hat Storage 3 Administration Guide. It describes how to configure and manage Red Hat Storage Server for on-premise and public cloud installations. The guide covers topics such as Red Hat Storage architecture, key features, managing storage pools and volumes, performance optimization, geo-replication, snapshots, monitoring and more. It provides administrators with information needed to setup and maintain Red Hat Storage environments.
CALM DURING THE STORM:Best Practices in Multicast SecurityJohnson Liu
Internet multicast introduces a range of new security threats to a network. These threats are not necessarily any more or less destructive than those found in unicast-only networks, but they represent a new class of vulnerability that may be unfamiliar to those with minimal multicast experience. Juniper Networks® Junos® operating system offers the most comprehensive set of features in the industry for securing a multicast infrastructure. This expertise comes from lessons learned after more than a decade of deployment experience in the world’s largest Internet backbones. The following is a detailed set of recommended best practices for securing a multicast infrastructure of Juniper Networks routers.
This document provides an introduction to the C++ programming language. It discusses the history and evolution of C++. The document outlines some key differences between C and C++, such as namespaces, references, and classes. It also introduces several important C++ concepts, like object-oriented programming, the string data type, input/output streams, and classes. The document serves as a textbook for C++ programming courses taught at the University of Groningen.
Perl <b>5 Tutorial</b>, First Editiontutorialsruby
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to guide readers through learning Perl programming.
This document provides an overview and introduction to IPv6 fundamentals, including:
- The history and basics of IPv6 including addressing, headers, and essential functions like neighbor discovery.
- Methods for IPv6 integration and transition such as tunneling (6to4, ISATAP) and translation (NAT-PT).
- IPv6 routing protocols (RIPng, OSPF, BGP) and network management standards and tools.
- Other topics covered include multicast, security, mobility, and coexistence of IPv4 and IPv6. Configuration examples are provided for common IPv6 implementations.
The document is intended as a guide for network engineers and administrators to understand IPv6 technologies
This document discusses strategies for improving the robustness and availability of Tivoli Directory Integrator 7.0 solutions. Potential sources of failures that could impact solutions are identified as the network, data sources/targets, runtime environments, and unexpected data. The document then recommends various architectural patterns that can be implemented using Tivoli Directory Integrator to increase availability, such as duplication, external job scheduling, message queues, and monitoring systems. It also provides guidance on error handling, failover configurations, change data capture, and general best practices for designing and implementing robust Tivoli Directory Integrator solutions.
Sybase Adaptive Server Anywhere for Linuxmarcorinco
This document provides instructions for installing and using Sybase Adaptive Server Anywhere for Linux. It begins with an introduction that describes Adaptive Server Anywhere's features and requirements. It then covers installing SQL Anywhere Studio, creating and connecting to databases, backing up and restoring data, and basic database administration tasks. The document aims to guide moderately experienced Linux users through getting started with Adaptive Server Anywhere.
This document provides an overview and guidance on MongoDB security. It discusses authentication, role-based access control, auditing, encryption, and hardening deployments. It then details concepts like authentication mechanisms, authorization with roles and privileges, network exposure configuration, and API security. Finally it includes tutorials for security best practices, network configuration like firewalls and SSL, deployment, access control, user/role management, and auditing.
Auto dialer Newfies-dialer documentation for latest version 3.9.2.
Newfies-Dialer is an Voice broadcasting solution built to support cloud based servers and can also work on standalone servers.
This document is a tutorial for MySQL 5.1 that introduces connecting to and querying databases. It covers how to create and select databases, create and populate tables, perform queries to retrieve data, sort and filter results, and work with multiple tables. The tutorial provides examples of common queries and using MySQL with Apache. It also lists licenses for third-party software components.
This document provides information about the Hitachi Replication Manager Software User Guide, including its intended audience, product version, document organization, and how to get help. It outlines the document contents and chapters, which cover topics such as getting started with Replication Manager, using the Replication Manager console, setting up information sources, discovering volumes, creating copy groups, and managing replication. The document also provides licensing information and describes the architecture and features of Replication Manager.
This document provides a draft summary of an IBM reference architecture for virtualized environments using IBM System Storage N series storage platforms. It includes chapters on architecture, Clustered Data ONTAP 8.2 features, VMware vSphere integration, and Microsoft Hyper-V integration. The document discusses storage configuration, provisioning, cloning, snapshots, and other topics to understand how to design scalable cloud solutions using N series storage and Clustered Data ONTAP.
This document provides help and documentation for SAP Cloud Integration for data services. It includes information on initial setup such as enabling licenses, creating projects, and moving data. It also describes datastores for connecting to different data sources, how to create and run tasks and processes, and available actions for tasks and processes. The document is a comprehensive guide for getting started with and using SAP Cloud Integration for data services.
This document provides an overview and guide for implementing and tuning open source applications on IBM PowerLinux systems using virtualization. It introduces common open source applications for web, mail, file, print and network serving. It then describes considerations for installing the Virtual I/O Server (VIOS), creating virtual servers, installing Linux and applications. The guide also covers monitoring with Ganglia and performance tuning. It is intended to help professionals plan and deploy open source solutions on IBM PowerLinux infrastructure.
This document provides help and documentation for SAP Cloud Integration for data services. It includes information on initial setup such as enabling licenses and creating projects. It also describes key concepts like datastores, tasks, processes and available actions. Specific datastore types and their properties are defined. Guidelines are provided for importing metadata, viewing data, and enabling secure network communications for SAP BW datastores.
This document provides an overview and tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding prerequisite software. Controllers and views are then added to implement basic pages for the home, store index, and individual albums. The tutorial progresses to adding data access with Entity Framework Code First, validation, authorization, a shopping cart, registration/checkout, and final styling. Each section builds upon the previous to create a full-featured e-commerce music store application using ASP.NET MVC patterns and practices.
This document provides a guide to configuring the Apache web server. It begins with basic setup instructions, covering verifying the installation, editing configuration files, creating HTML documents, starting the server, and accessing the website locally and externally. It then covers more advanced topics like using directory, files, and location tags; redirecting URLs; setting up virtual hosts; loading modules; using .htaccess files; and securing the server with encrypted sessions and SSL/TLS certificates. The document is intended to help new Linux and Windows users become proficient with Apache.
This document provides guidelines for hardening the security of Citrix XenServer virtualization platforms. It outlines configuration settings for general system security like restricting root access, enabling encryption, and updating packages. It also includes recommendations for network, hypervisor, and virtual machine settings such as separating interfaces by task, restricting unencrypted connections, disabling promiscuous mode, and more. Implementing the settings in this guide helps reduce the attack surface and prevent unauthorized access to XenServer systems and VMs.
This document is the phpMyAdmin documentation for version 4.8.0-dev. It provides information on installing and configuring phpMyAdmin, including supported features, requirements, different installation methods, authentication modes, and extensive configuration options. It also covers usage instructions and frequently asked questions about phpMyAdmin and common issues.
This document is the administrator's guide for Zimbra Collaboration Server (ZCS) 8.0 Open Source Edition. It provides information on installing and configuring the core components of ZCS, including the mailbox server, LDAP service, mail transfer agent, and proxy server. It also covers using the administration console and managing configuration settings at the global, domain, and server level.
Red hat storage-3-administration_guide-en-usTommy Lee
This document is the Red Hat Storage 3 Administration Guide. It describes how to configure and manage Red Hat Storage Server for on-premise and public cloud installations. The guide covers topics such as Red Hat Storage architecture, key features, managing storage pools and volumes, performance optimization, geo-replication, snapshots, monitoring and more. It provides administrators with information needed to setup and maintain Red Hat Storage environments.
CALM DURING THE STORM:Best Practices in Multicast SecurityJohnson Liu
Internet multicast introduces a range of new security threats to a network. These threats are not necessarily any more or less destructive than those found in unicast-only networks, but they represent a new class of vulnerability that may be unfamiliar to those with minimal multicast experience. Juniper Networks® Junos® operating system offers the most comprehensive set of features in the industry for securing a multicast infrastructure. This expertise comes from lessons learned after more than a decade of deployment experience in the world’s largest Internet backbones. The following is a detailed set of recommended best practices for securing a multicast infrastructure of Juniper Networks routers.
This document provides an introduction to the C++ programming language. It discusses the history and evolution of C++. The document outlines some key differences between C and C++, such as namespaces, references, and classes. It also introduces several important C++ concepts, like object-oriented programming, the string data type, input/output streams, and classes. The document serves as a textbook for C++ programming courses taught at the University of Groningen.
Perl <b>5 Tutorial</b>, First Editiontutorialsruby
This document is a 241-page tutorial on the Perl 5 programming language. It was written by Chan Bernard Ki Hong and published in 2003. The document covers topics such as what Perl is, getting started with Perl, manipulating data structures, operators, conditionals, loops, and subroutines. It includes over 20 chapters to guide readers through learning Perl programming.
This document provides an overview and introduction to IPv6 fundamentals, including:
- The history and basics of IPv6 including addressing, headers, and essential functions like neighbor discovery.
- Methods for IPv6 integration and transition such as tunneling (6to4, ISATAP) and translation (NAT-PT).
- IPv6 routing protocols (RIPng, OSPF, BGP) and network management standards and tools.
- Other topics covered include multicast, security, mobility, and coexistence of IPv4 and IPv6. Configuration examples are provided for common IPv6 implementations.
The document is intended as a guide for network engineers and administrators to understand IPv6 technologies
This document discusses strategies for improving the robustness and availability of Tivoli Directory Integrator 7.0 solutions. Potential sources of failures that could impact solutions are identified as the network, data sources/targets, runtime environments, and unexpected data. The document then recommends various architectural patterns that can be implemented using Tivoli Directory Integrator to increase availability, such as duplication, external job scheduling, message queues, and monitoring systems. It also provides guidance on error handling, failover configurations, change data capture, and general best practices for designing and implementing robust Tivoli Directory Integrator solutions.
Sybase Adaptive Server Anywhere for Linuxmarcorinco
This document provides instructions for installing and using Sybase Adaptive Server Anywhere for Linux. It begins with an introduction that describes Adaptive Server Anywhere's features and requirements. It then covers installing SQL Anywhere Studio, creating and connecting to databases, backing up and restoring data, and basic database administration tasks. The document aims to guide moderately experienced Linux users through getting started with Adaptive Server Anywhere.
This document provides an overview and guidance on MongoDB security. It discusses authentication, role-based access control, auditing, encryption, and hardening deployments. It then details concepts like authentication mechanisms, authorization with roles and privileges, network exposure configuration, and API security. Finally it includes tutorials for security best practices, network configuration like firewalls and SSL, deployment, access control, user/role management, and auditing.
Auto dialer Newfies-dialer documentation for latest version 3.9.2.
Newfies-Dialer is an Voice broadcasting solution built to support cloud based servers and can also work on standalone servers.
This document is a tutorial for MySQL 5.1 that introduces connecting to and querying databases. It covers how to create and select databases, create and populate tables, perform queries to retrieve data, sort and filter results, and work with multiple tables. The tutorial provides examples of common queries and using MySQL with Apache. It also lists licenses for third-party software components.
This document provides information about the Hitachi Replication Manager Software User Guide, including its intended audience, product version, document organization, and how to get help. It outlines the document contents and chapters, which cover topics such as getting started with Replication Manager, using the Replication Manager console, setting up information sources, discovering volumes, creating copy groups, and managing replication. The document also provides licensing information and describes the architecture and features of Replication Manager.
This document provides a draft summary of an IBM reference architecture for virtualized environments using IBM System Storage N series storage platforms. It includes chapters on architecture, Clustered Data ONTAP 8.2 features, VMware vSphere integration, and Microsoft Hyper-V integration. The document discusses storage configuration, provisioning, cloning, snapshots, and other topics to understand how to design scalable cloud solutions using N series storage and Clustered Data ONTAP.
This document provides help and documentation for SAP Cloud Integration for data services. It includes information on initial setup such as enabling licenses, creating projects, and moving data. It also describes datastores for connecting to different data sources, how to create and run tasks and processes, and available actions for tasks and processes. The document is a comprehensive guide for getting started with and using SAP Cloud Integration for data services.
This document provides an overview and guide for implementing and tuning open source applications on IBM PowerLinux systems using virtualization. It introduces common open source applications for web, mail, file, print and network serving. It then describes considerations for installing the Virtual I/O Server (VIOS), creating virtual servers, installing Linux and applications. The guide also covers monitoring with Ganglia and performance tuning. It is intended to help professionals plan and deploy open source solutions on IBM PowerLinux infrastructure.
This document provides help and documentation for SAP Cloud Integration for data services. It includes information on initial setup such as enabling licenses and creating projects. It also describes key concepts like datastores, tasks, processes and available actions. Specific datastore types and their properties are defined. Guidelines are provided for importing metadata, viewing data, and enabling secure network communications for SAP BW datastores.
This document provides an overview and tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding prerequisite software. Controllers and views are then added to implement basic pages for the home, store index, and individual albums. The tutorial progresses to adding data access with Entity Framework Code First, validation, authorization, a shopping cart, registration/checkout, and final styling. Each section builds upon the previous to create a full-featured e-commerce music store application using ASP.NET MVC patterns and practices.
This document provides an overview and tutorial for building an ASP.NET MVC Music Store application. It begins by creating a new ASP.NET MVC 3 project and adding prerequisite software. Controllers and views are then added to implement basic pages for the home, store index, and individual albums. The tutorial progresses to adding data access with Entity Framework Code First, validation, authorization, shopping cart functionality, registration/checkout, and final design updates. Each section builds upon the previous work to create a full-featured e-commerce music store application using ASP.NET MVC patterns and practices.
This chapter discusses setting up your development environment for SAS Infrastructure for Risk Management. It describes installing the Python scripting client, which allows you to create and run parallel programs on the platform. Example code is provided to interact with a sample federated area where data and tasks can be stored.
This document provides an overview and instructions for installing and using MySQL Connector/Python, a Python driver for connecting to MySQL databases. It describes downloading, installing, and verifying the connector software, provides coding examples for common tasks like connecting, executing queries, and manipulating data, and includes tutorials and reference documentation for the connector's API.
This document is the Neo4j Manual v1.8.M01 which provides an introduction to graph database concepts, tutorials on using Neo4j from Java and Python, a reference section on Neo4j capabilities and transactions, and sections on operations, tools, and contributing to the Neo4j community. It is published by Neo Technology under a Creative Commons license and covers topics such as nodes, relationships, properties, paths, and the Cypher query language.
Livre blanc technique sur l’architecture de référenceMicrosoft France
The document provides an overview of the Microsoft Hyper-V Cloud Fast Track Program, which is a joint effort between Microsoft and partners to help organizations build private clouds quickly and reduce costs and risks. It describes the technical architecture principles and components of a Hyper-V cloud solution, including servers, storage, networking, virtualization, automation, management, orchestration, and service management. The reference architecture covers workload categories, logical architecture, server, storage, network, virtualization, and management designs.
Cenet-- capability enabled networking: towards least-privileged networkingJithu Joseph
In today's IP networks, any host can send packets to any other host irrespective of whether the recipient is interested in communicating with the sender or not. The downside of this openness is that every host is vulnerable to an attack by any other host. We ob- serve that this unrestricted network access (network ambient authority) from compromised systems is also a main reason for data exfiltration attacks within corporate networks. We address this issue using the network version of capability based access control. We bring the idea of capabilities and capability-based access control to the domain of networking. CeNet provides policy driven, fine-grained network level access control enforced in the core of the network (and not at the end-hosts) thereby removing network ambient authority. Thus CeNet is able to limit the scope of spread of an attack from a compromised host to other hosts in the network. We built a capability-enabled SDN network where communication privileges of an endpoint are limited according to its function in the network. Network capabilities can be passed between hosts, thereby allowing a delegation-oriented security policy to be realized. We believe that this base functionality can pave the way for the realization of sophisticated security policies within an enterprise network. Further we built a policy manager that is able to realize Role-Based Access Control (RBAC) policy based network access control using capability operations. We also look at some of the results of formal analysis of capability propagation models in the context of networks.
Hp networking-and-cisco-cli-reference-guide june-10_ww_eng_ltrElier Escobedo
ProVision:
1. Enter configuration mode
2. Configure the console inactivity-timer to the desired value in minutes (default is 0)
Comware 5:
1. Enter system view
2. Select the auxiliary interface
3. Configure the idle-timeout to the desired value in minutes (default is 10)
Cisco:
1. Enter configuration mode
2. Select the console line
3. Configure the exec-timeout to the desired value in minutes (default varies by IOS version)
The console timeout or idle timeout can be configured differently in each CLI, but all allow setting
The document provides an overview of configuring and managing Red Hat clusters. It discusses setting up hardware, installing cluster software, and using various configuration tools like Conga, system-config-cluster, and command line tools. Conga is a comprehensive GUI for installing, configuring, and managing clusters and storage. system-config-cluster is also a GUI for configuring and managing clusters. Command line tools provide an alternative to the graphical tools.
This document provides instructions for configuring and managing Red Hat Cluster for Red Hat Enterprise Linux 5. It discusses setting up hardware and installing the Red Hat Cluster software. It then describes using the Conga and system-config-cluster tools to configure clusters, including defining global properties, cluster members, failover domains, resources, and services. It also covers starting, stopping, and managing clusters and troubleshooting problems.
This document provides a 3-page overview of managing WebSphere Application Server for z/OS using Tivoli products. It introduces the automation blueprint for comprehensive management of WebSphere from performance, availability, and security. The document is organized to describe the WebSphere environment, IBM Tivoli Monitoring for Web Infrastructure for inside-out monitoring, and IBM Tivoli Monitoring for Transaction Performance for outside-in monitoring.
This document provides an overview and introduction to using Shodan, an internet search engine that allows users to search for publicly available devices and services. It describes what types of data Shodan collects, including banners which provide information about the service or device, and metadata like the device's location and operating system. It also discusses how the data is collected through Shodan's crawlers that scan the internet regularly, and that the data collected includes information on devices accessible via both IPv4 and IPv6 networks. The document serves as an introduction to using Shodan and exploring the different data and interfaces it provides.
This document is the course content for the Marketing Management course for the Bachelor of Business Administration program offered by the Directorate of Distance Education at Guru Jambheshwar University. The document contains 13 lessons covering topics such as the concepts and evolution of marketing, marketing environment segmentation, buyer behavior, product development, branding, pricing strategies, distribution channels, promotion, personal selling, and export marketing. It provides an outline of the topics and objectives to be covered in the Marketing Management course.
This document contains a mock CAT exam with 26 multiple choice questions covering topics in mathematics, data interpretation, and logical reasoning. The questions are from sections including numbers, algebra, geometry, data sufficiency, and data interpretation from tables and graphs. The level of difficulty of the questions ranges from easy to moderate.
This document contains a mock CAT exam with multiple choice questions and explanations. It consists of two pages. The first page lists 60 multiple choice questions with answer options A-D. The second page provides explanations for the questions and solutions to problems. It discusses topics like probability, ratios, geometry, time/speed/distance word problems, and data interpretation from graphs.
This document provides an overview of production management concepts and topics. It includes:
1. Definitions of production, production management, and the scope of production management. Production management deals with converting inputs like materials, labor, and capital into outputs like goods and services.
2. A brief history of production management, covering developments from individual efficiency studies by Taylor and Gilbreth to quality control, operations research, and consideration of human factors.
3. A description of the key activities that fall within the scope of production management, such as product design, facilities layout, production planning and control, inventory control, and quality control.
This document provides a preface to the second edition of a book on production and operations management. It summarizes revisions made to chapters based on feedback, including adding concepts of global operations, service layouts, ISO standards, and total preventive maintenance. It also describes adding case studies and practical questions to each chapter for skill development. The preface acknowledges contributions from others and expresses gratitude to the publisher for their support in producing the second edition.
This document provides an overview of human resource management (HRM). It defines HRM as the process of maximizing employee and organizational effectiveness through programs and activities related to acquiring, developing, motivating and retaining employees. The key objectives of HRM are outlined as efficient utilization of employee skills, providing trained and motivated employees, increasing job satisfaction, communicating HRM policies, and developing quality work life. The scope of HRM discussed includes human resources planning, job and work design, recruitment, selection, placement, training, development, and performance appraisal.
Discover the benefits of outsourcing SEO to Indiadavidjhones387
"Discover the benefits of outsourcing SEO to India! From cost-effective services and expert professionals to round-the-clock work advantages, learn how your business can achieve digital success with Indian SEO solutions.
HijackLoader Evolution: Interactive Process HollowingDonato Onofri
CrowdStrike researchers have identified a HijackLoader (aka IDAT Loader) sample that employs sophisticated evasion techniques to enhance the complexity of the threat. HijackLoader, an increasingly popular tool among adversaries for deploying additional payloads and tooling, continues to evolve as its developers experiment and enhance its capabilities.
In their analysis of a recent HijackLoader sample, CrowdStrike researchers discovered new techniques designed to increase the defense evasion capabilities of the loader. The malware developer used a standard process hollowing technique coupled with an additional trigger that was activated by the parent process writing to a pipe. This new approach, called "Interactive Process Hollowing", has the potential to make defense evasion stealthier.
Ready to Unlock the Power of Blockchain!Toptal Tech
Imagine a world where data flows freely, yet remains secure. A world where trust is built into the fabric of every transaction. This is the promise of blockchain, a revolutionary technology poised to reshape our digital landscape.
Toptal Tech is at the forefront of this innovation, connecting you with the brightest minds in blockchain development. Together, we can unlock the potential of this transformative technology, building a future of transparency, security, and endless possibilities.
2. MySQL PHP API
Abstract
This manual describes the PHP extensions and interfaces that can be used with MySQL.
Document generated on: 2014-04-28 (revision: 38529)
14. Legal Notices
xiv
only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or functionality
described in this document remains at the sole discretion of Oracle.
This document in any form, software or printed matter, contains proprietary information that is the exclusive
property of Oracle. Your access to and use of this material is subject to the terms and conditions of your
Oracle Software License and Service Agreement, which has been executed and with which you agree
to comply. This document and information contained herein may not be disclosed, copied, reproduced,
or distributed to anyone outside Oracle without prior written consent of Oracle or as specifically provided
below. This document is not part of your license agreement nor can it be incorporated into any contractual
agreement with Oracle or its subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the
following terms:
You may create a printed copy of this documentation solely for your own personal use. Conversion to other
formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish
or distribute this documentation in any form or on any media, except if you distribute the documentation in
a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the
software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated
together with the software on the same medium. Any other use, such as any dissemination of printed
copies or use of this documentation, in whole or in part, in another publication, requires the prior written
consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights
to this documentation not expressly granted above.
For more information on the terms of this license, or for details on how the MySQL documentation is built
and produced, please visit MySQL Contact & Questions.
For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can
discuss your issues with other MySQL users.
For additional documentation on MySQL products, including translations of the documentation into other
languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the
MySQL Documentation Library.
15. 1
Chapter 1 Introduction to the MySQL PHP API
PHP is a server-side, HTML-embedded scripting language that may be used to create dynamic Web
pages. It is available for most operating systems and Web servers, and can access most common
databases, including MySQL. PHP may be run as a separate program or compiled as a module for use
with a Web server.
PHP provides three different MySQL API extensions:
• Chapter 3, MySQL Improved Extension (Mysqli): Stands for “MySQL, Improved”; this extension is
available as of PHP 5.0.0. It is intended for use with MySQL 4.1.1 and later. This extension fully supports
the authentication protocol used in MySQL 5.0, as well as the Prepared Statements and Multiple
Statements APIs. In addition, this extension provides an advanced, object-oriented programming
interface.
• Chapter 4, MySQL Functions (PDO_MYSQL) (MySQL (PDO)): Not its own API, but instead it's a MySQL
driver for the PHP database abstraction layer PDO (PHP Data Objects). The PDO MySQL driver sits in
the layer below PDO itself, and provides MySQL-specific functionality. This extension is available as of
PHP 5.1.0.
• Chapter 5, Original MySQL API (Mysql): Available for PHP versions 4 and 5, this extension is intended
for use with MySQL versions prior to MySQL 4.1. This extension does not support the improved
authentication protocol used in MySQL 4.1, nor does it support prepared statements or multiple
statements. To use this extension with MySQL 4.1, you will likely configure the MySQL server to set
the old_passwords system variable to 1 (see Client does not support authentication
protocol).
Warning
This extension was removed from PHP 5.5.0. All users must migrate to either
mysqli or PDO_MySQL. For further information, see Section 2.3, “Choosing an
API”.
Note
This documentation, and other publications, sometimes uses the term Connector/
PHP. This term refers to the full set of MySQL related functionality in PHP, which
includes the three APIs that are described in the preceding discussion, along with
the mysqlnd core library and all of its plugins.
The PHP distribution and documentation are available from the PHP Web site.
Portions of this section are Copyright (c) 1997-2014 the PHP Documentation Group This material may
be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution 3.0
License or later. A copy of the Creative Commons Attribution 3.0 license is distributed with this manual.
The latest version is presently available at http://creativecommons.org/licenses/by/3.0/.
17. 3
Chapter 2 Overview of the MySQL PHP drivers
Table of Contents
2.1 Introduction .................................................................................................................................. 3
2.2 Terminology overview ................................................................................................................... 3
2.3 Choosing an API .......................................................................................................................... 4
2.4 Choosing a library ........................................................................................................................ 6
2.5 Concepts ...................................................................................................................................... 7
2.5.1 Buffered and Unbuffered queries ........................................................................................ 7
2.5.2 Character sets ................................................................................................................... 8
Copyright 1997-2014 the PHP Documentation Group. [1]
2.1 Introduction
There are three PHP APIs for accessing the MySQL database. This guide explains the terminology used to describe
each API, information about choosing which API to use, and also information to help choose which MySQL library to
use with the API.
2.2 Terminology overview
Copyright 1997-2014 the PHP Documentation Group. [1]
This section provides an introduction to the options available to you when developing a PHP application
that needs to interact with a MySQL database.
What is an API?
An Application Programming Interface, or API, defines the classes, methods, functions and variables that
your application will need to call in order to carry out its desired task. In the case of PHP applications that
need to communicate with databases the necessary APIs are usually exposed via PHP extensions.
APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with
the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two
the latter is usually the preferred interface, as it is more modern and leads to better organized code.
When writing PHP applications that need to connect to the MySQL server there are several API options
available. This document discusses what is available and how to select the best solution for your
application.
What is a Connector?
In the MySQL documentation, the term connector refers to a piece of software that allows your application
to connect to the MySQL database server. MySQL provides connectors for a variety of languages,
including PHP.
If your PHP application needs to communicate with a database server you will need to write PHP code to
perform such activities as connecting to the database server, querying the database and other database-
related functions. Software is required to provide the API that your PHP application will use, and also
handle the communication between your application and the database server, possibly using other
18. Choosing an API
4
intermediate libraries where necessary. This software is known generically as a connector, as it allows your
application to connect to a database server.
What is a Driver?
A driver is a piece of software designed to communicate with a specific type of database server. The driver
may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries
implement the low-level protocol used to communicate with the MySQL database server.
By way of an example, the PHP Data Objects (PDO) [16] database abstraction layer may use one of
several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which
allows it to interface with the MySQL server.
Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the
MySQL-related documentation the term “driver” is reserved for software that provides the database-specific
part of a connector package.
What is an Extension?
In the PHP documentation you will come across another term - extension. The PHP code consists of a
core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the
mysqli extension, and the mysql extension, are implemented using the PHP extension framework.
An extension typically exposes an API to the PHP programmer, to allow its facilities to be used
programmatically. However, some extensions which use the PHP extension framework do not expose an
API to the PHP programmer.
The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but
provides an interface to the PDO layer above it.
The terms API and extension should not be taken to mean the same thing, as an extension may not
necessarily expose an API to the programmer.
2.3 Choosing an API
Copyright 1997-2014 the PHP Documentation Group. [1]
PHP offers three different APIs to connect to MySQL. Below we show the APIs provided by the mysql,
mysqli, and PDO extensions. Each code snippet creates a connection to a MySQL server running on
"example.com" using the username "user" and the password "password". And a query is run to greet the
user.
Example 2.1 Comparing the three MySQL APIs
<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);
// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
19. Choosing an API
5
echo htmlentities($row['_message']);
// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>
Recommended API
It is recommended to use either the mysqli or PDO_MySQL extensions. It is not recommended to use the
old mysql extension for new development, as it has been deprecated as of PHP 5.5.0 and will be removed
in the future. A detailed feature comparison matrix is provided below. The overall performance of all three
extensions is considered to be about the same. Although the performance of the extension contributes only
a fraction of the total run time of a PHP web request. Often, the impact is as low as 0.1%.
Feature comparison
ext/mysqli PDO_MySQL ext/mysql
PHP version introduced 5.0 5.1 2.0
Included with PHP 5.x Yes Yes Yes
Development status Active Active Maintenance only
Lifecycle Active Active Deprecated
Recommended for new
projects
Yes Yes No
OOP Interface Yes Yes No
Procedural Interface Yes No Yes
API supports non-
blocking, asynchronous
queries with mysqlnd
Yes No No
Persistent Connections Yes Yes Yes
API supports Charsets Yes Yes Yes
API supports server-side
Prepared Statements
Yes Yes No
API supports client-side
Prepared Statements
No Yes No
API supports Stored
Procedures
Yes Yes No
API supports Multiple
Statements
Yes Most No
API supports
Transactions
Yes Yes No
Transactions can be
controlled with SQL
Yes Yes Yes
Supports all MySQL 5.1+
functionality
Yes Most No
20. Choosing a library
6
2.4 Choosing a library
Copyright 1997-2014 the PHP Documentation Group. [1]
The mysqli, PDO_MySQL and mysql PHP extensions are lightweight wrappers on top of a C client library.
The extensions can either use the mysqlnd library or the libmysqlclient library. Choosing a library is a
compile time decision.
The mysqlnd library is part of the PHP distribution since 5.3.0. It offers features like lazy connections and
query caching, features that are not available with libmysqlclient, so using the built-in mysqlnd library is
highly recommended. See the mysqlnd documentation for additional details, and a listing of features and
functionality that it offers.
Example 2.2 Configure commands for using mysqlnd or libmysqlclient
// Recommended, compiles with mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd
// Not recommended, compiles with libmysqlclient
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config --with-mysql=/path/to
Library feature comparison
It is recommended to use the mysqlnd library instead of the MySQL Client Server library (libmysqlclient).
Both libraries are supported and constantly being improved.
MySQL native driver (mysqlnd) MySQL client server library
(libmysqlclient)
Part of the PHP distribution Yes No
PHP version introduced 5.3.0 N/A
License PHP License 3.01 Dual-License
Development status Active Active
Lifecycle No end announced No end announced
PHP 5.4 compile default (for all
MySQL extensions)
Yes No
PHP 5.3 compile default (for all
MySQL extensions)
No Yes
Compression protocol support Yes (5.3.1+) Yes
SSL support Yes (5.3.3+) Yes
Named pipe support Yes (5.3.4+) Yes
Non-blocking, asynchronous
queries
Yes No
Performance statistics Yes No
LOAD LOCAL INFILE respects
the open_basedir directive
Yes No
Uses PHP's native memory
management system (e.g., follows
PHP memory limits)
Yes No
21. Concepts
7
MySQL native driver (mysqlnd) MySQL client server library
(libmysqlclient)
Return numeric column as double
(COM_QUERY)
Yes No
Return numeric column as string
(COM_QUERY)
Yes Yes
Plugin API Yes Limited
Read/Write splitting for MySQL
Replication
Yes, with plugin No
Load Balancing Yes, with plugin No
Fail over Yes, with plugin No
Lazy connections Yes, with plugin No
Query caching Yes, with plugin No
Transparent query manipulations
(E.g., auto-EXPLAIN or
monitoring)
Yes, with plugin No
2.5 Concepts
Copyright 1997-2014 the PHP Documentation Group. [1]
These concepts are specific to the MySQL drivers for PHP.
2.5.1 Buffered and Unbuffered queries
Copyright 1997-2014 the PHP Documentation Group. [1]
Queries are using the buffered mode by default. This means that query results are immediately transferred
from the MySQL Server to PHP and is then kept in the memory of the PHP process. This allows additional
operations like counting the number of rows, and moving (seeking) the current result pointer. It also allows
issuing further queries on the same connection while working on the result set. The downside of the
buffered mode is that larger result sets might require quite a lot memory. The memory will be kept occupied
till all references to the result set are unset or the result set was explicitly freed, which will automatically
happen during request end the latest. The terminology "store result" is also used for buffered mode, as the
whole result set is stored at once.
Note
When using libmysqlclient as library PHP's memory limit won't count the memory
used for result sets unless the data is fetched into PHP variables. With mysqlnd the
memory accounted for will include the full result set.
Unbuffered MySQL queries execute the query and then return a resource while the data is still waiting on
the MySQL server for being fetched. This uses less memory on the PHP-side, but can increase the load
on the server. Unless the full result set was fetched from the server no further queries can be sent over the
same connection. Unbuffered queries can also be referred to as "use result".
Following these characteristics buffered queries should be used in cases where you expect only a limited
result set or need to know the amount of returned rows before reading all rows. Unbuffered mode should
be used when you expect larger results.
22. Character sets
8
Because buffered queries are the default, the examples below will demonstrate how to execute unbuffered
queries with each API.
Example 2.3 Unbuffered query example: mysqli
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$uresult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);
if ($uresult) {
while ($row = $uresult->fetch_assoc()) {
echo $row['Name'] . PHP_EOL;
}
}
$uresult->close();
?>
Example 2.4 Unbuffered query example: pdo_mysql
<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_pass');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
$uresult = $pdo->query("SELECT Name FROM City");
if ($uresult) {
while ($row = $uresult->fetch(PDO::FETCH_ASSOC)) {
echo $row['Name'] . PHP_EOL;
}
}
?>
Example 2.5 Unbuffered query example: mysql
<?php
$conn = mysql_connect("localhost", "my_user", "my_pass");
$db = mysql_select_db("world");
$uresult = mysql_unbuffered_query("SELECT Name FROM City");
if ($uresult) {
while ($row = mysql_fetch_assoc($uresult)) {
echo $row['Name'] . PHP_EOL;
}
}
?>
2.5.2 Character sets
Copyright 1997-2014 the PHP Documentation Group. [1]
Ideally a proper character set will be set at the server level, and doing this is described within the Character
Set Configuration section of the MySQL Server manual. Alternatively, each MySQL API offers a method to
set the character set at runtime.
23. Character sets
9
The character set and character escaping
The character set should be understood and defined, as it has an affect on every
action, and includes security implications. For example, the escaping mechanism
(e.g., mysqli_real_escape_string for mysqli, mysql_real_escape_string
for mysql, and PDO::quote for PDO_MySQL) will adhere to this setting. It is
important to realize that these functions will not use the character set that is defined
with a query, so for example the following will not have an effect on them:
Example 2.6 Problems with setting the character set with SQL
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8");
// Will not affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8");
// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8');
?>
Below are examples that demonstrate how to properly alter the character set at runtime using each each
API.
Example 2.7 Setting the character set example: mysqli
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (!$mysqli->set_charset('utf8')) {
printf("Error loading character set utf8: %sn", $mysqli->error);
} else {
printf("Current character set: %sn", $mysqli->character_set_name());
}
print_r( $mysqli->get_charset() );
?>
Example 2.8 Setting the character set example: pdo_mysql
Note: This only works as of PHP 5.3.6.
<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8", 'my_user', 'my_pass');
?>
24. Character sets
10
Example 2.9 Setting the character set example: mysql
<?php
$conn = mysql_connect("localhost", "my_user", "my_pass");
$db = mysql_select_db("world");
if (!mysql_set_charset('utf8', $conn)) {
echo "Error: Unable to set the character set.n";
exit;
}
echo 'Your current character set is: ' . mysql_client_encoding($conn);
?>
28. Examples
14
3.15.18 mysqli_rpl_probe .................................................................................................. 247
3.15.19 mysqli_send_long_data ........................................................................................ 248
3.15.20 mysqli::set_opt, mysqli_set_opt ...................................................................... 248
3.15.21 mysqli_slave_query .............................................................................................. 248
3.16 Changelog .............................................................................................................................. 249
Copyright 1997-2014 the PHP Documentation Group. [1]
The mysqli extension allows you to access the functionality provided by MySQL 4.1 and above. More
information about the MySQL Database server can be found at http://www.mysql.com/
An overview of software available for using MySQL from PHP can be found at Section 3.2, “Overview”
Documentation for MySQL can be found at http://dev.mysql.com/doc/.
Parts of this documentation included from MySQL manual with permissions of Oracle Corporation.
3.1 Examples
Copyright 1997-2014 the PHP Documentation Group. [1]
All examples in the mysqli documentation use the world database. The world database can be found at
http://downloads.mysql.com/docs/world.sql.gz
3.2 Overview
Copyright 1997-2014 the PHP Documentation Group. [1]
This section provides an introduction to the options available to you when developing a PHP application
that needs to interact with a MySQL database.
What is an API?
An Application Programming Interface, or API, defines the classes, methods, functions and variables that
your application will need to call in order to carry out its desired task. In the case of PHP applications that
need to communicate with databases the necessary APIs are usually exposed via PHP extensions.
APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with
the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two
the latter is usually the preferred interface, as it is more modern and leads to better organized code.
When writing PHP applications that need to connect to the MySQL server there are several API options
available. This document discusses what is available and how to select the best solution for your
application.
What is a Connector?
In the MySQL documentation, the term connector refers to a piece of software that allows your application
to connect to the MySQL database server. MySQL provides connectors for a variety of languages,
including PHP.
If your PHP application needs to communicate with a database server you will need to write PHP code to
perform such activities as connecting to the database server, querying the database and other database-
related functions. Software is required to provide the API that your PHP application will use, and also
handle the communication between your application and the database server, possibly using other
intermediate libraries where necessary. This software is known generically as a connector, as it allows your
application to connect to a database server.
29. Overview
15
What is a Driver?
A driver is a piece of software designed to communicate with a specific type of database server. The driver
may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries
implement the low-level protocol used to communicate with the MySQL database server.
By way of an example, the PHP Data Objects (PDO) [16] database abstraction layer may use one of
several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which
allows it to interface with the MySQL server.
Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the
MySQL-related documentation the term “driver” is reserved for software that provides the database-specific
part of a connector package.
What is an Extension?
In the PHP documentation you will come across another term - extension. The PHP code consists of a
core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the
mysqli extension, and the mysql extension, are implemented using the PHP extension framework.
An extension typically exposes an API to the PHP programmer, to allow its facilities to be used
programmatically. However, some extensions which use the PHP extension framework do not expose an
API to the PHP programmer.
The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but
provides an interface to the PDO layer above it.
The terms API and extension should not be taken to mean the same thing, as an extension may not
necessarily expose an API to the programmer.
What are the main PHP API offerings for using MySQL?
There are three main API options when considering connecting to a MySQL database server:
• PHP's MySQL Extension
• PHP's mysqli Extension
• PHP Data Objects (PDO)
Each has its own advantages and disadvantages. The following discussion aims to give a brief introduction
to the key aspects of each API.
What is PHP's MySQL Extension?
This is the original extension designed to allow you to develop PHP applications that interact with a MySQL
database. The mysql extension provides a procedural interface and is intended for use only with MySQL
versions older than 4.1.3. This extension can be used with versions of MySQL 4.1.3 or newer, but not all of
the latest MySQL server features will be available.
Note
If you are using MySQL versions 4.1.3 or later it is strongly recommended that you
use the mysqli extension instead.
The mysql extension source code is located in the PHP extension directory ext/mysql.
For further information on the mysql extension, see Chapter 5, Original MySQL API (Mysql).
What is PHP's mysqli Extension?