IT

PHP에서 MySQL API를 혼합 할 수 있습니까?

lottoking 2020. 8. 18. 07:54
반응형

PHP에서 MySQL API를 혼합 할 수 있습니까?


인터넷을 검색 나는하고 지금까지 내가 본 당신이 사용할 수 있다는 한 mysql_mysqli_의미를 함께 :

<?php
$con=mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}
mysql_close($con);
echo "Done";
?>

또는

<?php
$con=mysql_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}
mysqli_close($con);
echo "Done";
?>

유효하지만이 코드를 사용할 수 있습니다.

Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done

를 제외하고 첫 번째와 동일 mysqli_close()합니다. 두 번째.

무엇이 문제입니까? 사용할 수 없습니다 내가 mysql_mysqli함께? 아니면 정상입니까? 연결이 유효한지 확인할 수있는 방법이 있습니까? ( if(mysq...))


아니,은 사용할 수 당신 없습니다 mysqlmysqli함께. 어떤 것도 별도의 API이며 언어 생성하는 리소스는 서로 호환되지 않습니다.

있다 mysqli_close하지만.


참조와 함께 세 가지 MYSQL API에 대한 일반적인 답변을 제공하십시오.

당신은 세 가지 (의 혼합 할 수 없습니다 , , 그냥 작동하지 않습니다 함께 PHP에서) MYSQL의 API의를. 매뉴얼 FAQ 에도 있습니다 .mysql_*mysqli_*PDO

이다 확장을 혼합 할 수 없습니다 . 예를 들어 mysqli 연결을 PDO_MySQL 또는 ext / mysql에 전달 하면 작동하지 않습니다 .


연결부터 쿼리까지 동일한 MySQL API 및 관련 기능을 유지합니다.


기술적으로는 원하는만큼의 인적 연결을 사용할 수 있습니다. 한 확장의 리소스 만 다른 확장의 기능과 함께 사용할 수 없습니다.

그러나 단일 API 또는 다른 API에 관계없이 펼쳐야 합니다. 데이터베이스 서버에 부담을주고 리소스를 고갈 운영합니다. 따라서 기술적으로는 가능하지만 코드에서 다른 확장을 혼합 할 수 있고 리팩토링의 짧은 기간 동안 절약 할 수 있습니다.


MySQLiMySQL어쨌든 현재 사용하지 않는 것보다 훨씬 더 안전 합니다. 그렇기 때문에 고수해야 MySQLi하며 둘 다 다르기 때문에 혼합 할 수 없습니다.

참고 URL : https://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php

반응형