데이터 베이스 MySQL 튜토리얼 Mysqli基础知识_MySQL

Mysqli基础知识_MySQL

Jun 01, 2016 pm 12:59 PM
mysqli 기본 지식

       相信原来在开始学习php的时候,很多人使用的数据库首选MySQL,连接数据库的扩展首选mysql扩展,但随着php版本的提高,mysql扩展正逐渐被mysqli和PDO所取代。正如使用mysql函数时给出的deprecated: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead。学习mysqli扩展势在必行了。

   相对于mysql扩展,mysqli扩展支持面向对象和面向过程两种方式,支持预处理,支持事务处理,而且速度比mysql速度更快。本篇将主要介绍mysqli的面向对象的基本简单操作。

mysqli安装配置

  mysqli的安装配置和其他配置一样,首先要确认你的ext文件夹下存在php_mysqli.dll文件(一般而言是存在的),并且在php.ini文件中去掉“extension=php_mysqli.dll”这一行前的";",并且确定配置文件中extension_dir='ext目录所在的位置。重新启动服务器后,便可以使用mysqli扩展啦~

如何验证mysqli扩展已经开启了呢?

   其实最直接的是使用mysqli扩展的函数看看能不能用,例如通过能否连接数据库判断扩展已经安装完成。连接成功,不必说,自然是装好了,连接不成功,也不要轻易认为没有装好,我们还有后招,利用phpinfo()函数,我们可以明确知道mysqli是否可用。

   当然可以通过extension_loaded('mysqli') 来判断是否装载mysqli扩展,甚至可以通过get_loaded_extensions()获得到底装载了哪些扩展。

面向对象mysqli的使用

  对于使用过mysql扩展的开发者,mysqli无论是面向对象还是面向过程的 方式都是非常容易理解的,有种似曾相识的感觉。具体的属性方法请参照php官方手册,http://php.net/manual/zh/mysqli.summary.php,下面我我通过一段代码示例mysqli的使用过程。

本例中操作做的表为test表,有id,title两个字段。

<&#63;php 
//配置文件完成相关配置
define("HOST", "localhost");
define("USER", 'root');
define("PWD", '');
define("DB", 'yii');

//建立连接,生成mysqli实例对象。
$mysqli=new Mysqli(HOST,USER,PWD,DB);

if ($mysqli->connect_errno) {
  "Connect Error:".$mysqli->connect_error;
}
//设置默认的字符集
$mysqli->set_charset('utf8');
$sql="select * from test";
//生成mysql_result对象
$result=$mysqli->query($sql);

//返回二维关联数组,参数同理可以设定为MYSQLI_NUM返回索引数组,或者MYSQLI_BOTH二者兼有。
$rows=$result->fetch_all(MYSQLI_ASSOC);
//将结果指针调整到任意行
$result->data_seek(2);
$row=$result->fetch_row();
//$row=$result->fetch_array();
//$row=$result->fetch_assoc();
//$row=$result->fetch_object();

//释放结果集
$result->free();
//$result->free_result();
//$result->close();

//关闭连接
$mysqli->close();

로그인 후 복사

以上代码仅仅是简单地展现了如何 利用mysqli进行查询,未对查询结果集进行遍历,如何取出数组中的数据应该不是难事。

需要注意的是$mysqli->query()执行的sql语句,成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回 TRUE,执行失败则都返回false。

在进行INSERT,UPDATE,DELETE操作时可以调用$mysqli->affected_rows获得受影响记录条数

$mysqli->affected_rows 返回值 返回-1表明sql语句出现问题,0表示没有受影响的记录,其他数值则是受影响条数。

执行多条SQL语句,预处理,以及事务处理也是mysqli的重要内容,我会在后来的随笔中写到。

以上所述就是本文的全部内容了,希望大家能够喜欢。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mysqli_connect() 호출 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mysqli_connect() 호출 Jun 23, 2023 am 09:40 AM

PHP를 사용하여 웹 애플리케이션을 작성할 때 MySQL 데이터베이스를 사용하여 데이터를 저장하는 경우가 많습니다. PHP는 MySQLi라는 MySQL 데이터베이스와 상호 작용하는 방법을 제공합니다. 그러나 때때로 MySQLi를 사용할 때 아래와 같은 오류 메시지가 표시될 수 있습니다. PHPFatalerror:Calltoundefoundfunctionmysqli_connect() 이 오류 메시지는 PHP가 내 항목을 찾을 수 없음을 의미합니다.

PHP PDO 대 mysqli: 비교 및 ​​대조 PHP PDO 대 mysqli: 비교 및 ​​대조 Feb 19, 2024 pm 12:24 PM

PDOPDO는 PHP용 통합 인터페이스를 제공하는 객체 지향 데이터베이스 액세스 추상화 계층으로, 동일한 코드를 사용하여 다양한 데이터베이스(예: Mysql, postgresql, oracle)와 상호 작용할 수 있습니다. PDO는 기본 데이터베이스 연결의 복잡성을 숨기고 데이터베이스 작업을 단순화합니다. 장점과 단점 장점: 통합 인터페이스, 다중 데이터베이스 지원, 데이터베이스 작업 단순화, 개발 어려움 감소, 준비된 명령문 제공, 보안 향상, 트랜잭션 처리 지원 단점: 성능이 기본 확장보다 약간 낮을 수 있고, 외부 라이브러리에 의존하며, 오버헤드가 증가할 수 있습니다. 데모 코드는 PDO를 사용하여 mysql 데이터베이스에 연결합니다: $db=newPDO("mysql:host=localhost;dbnam

PHP가 mysqli에 연결할 수 없으면 어떻게 해야 합니까? PHP가 mysqli에 연결할 수 없으면 어떻게 해야 합니까? Nov 09, 2022 am 10:07 AM

PHP가 mysqli에 연결할 수 없는 경우 해결 방법: 1. "php.ini" 파일을 엽니다. 2. "mysqli.reconnect"를 찾습니다. 3. "mysqli.reconnect = OFF"를 "mysqli.reconnect = on"으로 변경합니다.

PHP 경고: mysqli_connect(): (HY000/2002): 연결에 대한 해결 방법이 거부되었습니다. PHP 경고: mysqli_connect(): (HY000/2002): 연결에 대한 해결 방법이 거부되었습니다. Jun 23, 2023 am 08:54 AM

PHP를 사용하여 MySQL 데이터베이스에 연결할 때 PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused 오류 메시지가 표시되는 경우 아래 단계에 따라 이 문제를 해결할 수 있습니다. MySQL 서비스가 정상적으로 실행되고 있는지 확인하려면 먼저 MySQL 서비스가 정상적으로 실행되고 있는지 확인해야 합니다. 서비스가 실행되지 않거나 시작되지 않는 경우 연결 거부 오류가 발생할 수 있습니다. 당신은 할 수

mysql의 실행 파일은 무엇입니까? mysql의 실행 파일은 무엇입니까? Apr 11, 2023 am 10:38 AM

mysql의 실행 파일은 mysqld이고, mysqld는 Mysql 서버 프로그램을 나타내는 실행 파일이며, mysqld_safe는 간접적으로 mysqld를 호출하고 모니터 프로세스도 시작하는 시작 스크립트이다. .

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메서드 mysqli::prepare() 호출 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 메서드 mysqli::prepare() 호출 Jun 23, 2023 am 11:21 AM

mysqli 확장을 사용하여 MySQL 데이터베이스에 연결하고 작동할 때 PHPFatalerror:Calltoundefinemethodmysqli::prepare() 오류가 발생하는 경우가 있습니다. 이 오류는 일반적으로 다음과 같은 이유로 발생합니다. PHP는 mysqli 확장에 대한 지원이 충분하지 않습니다. mysqli 확장이 올바르게 로드되거나 구성되지 않았습니다. MySQL 서버가 올바르게 구성되지 않았거나 실행 중입니다.

MySQL을 배우기 위해 꼭 읽어야 할 책! SQL문에 대한 기본지식을 자세하게 설명 MySQL을 배우기 위해 꼭 읽어야 할 책! SQL문에 대한 기본지식을 자세하게 설명 Jun 15, 2023 pm 09:00 PM

MySQL은 웹 애플리케이션 개발 및 데이터 저장에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL의 SQL 언어를 배우는 것은 데이터 관리자와 개발자에게 매우 필요합니다. SQL 언어는 MySQL의 핵심 부분이므로 MySQL을 배우기 전에 SQL 언어에 대한 완전한 이해가 필요합니다. 이 기사에서는 SQL 문에 대한 기본 지식을 자세히 설명하여 SQL 문을 단계별로 이해할 수 있도록 하는 것을 목표로 합니다. 단계. SQL은 Structured Query Language의 약자로 관계형 데이터에 사용됩니다.

See all articles