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...))
아니,은 사용할 수 당신 없습니다 mysql와 mysqli함께. 어떤 것도 별도의 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
'IT' 카테고리의 다른 글
| Java에 좋은 동적 SQL 빌더 라이브러리가 있습니까? (0) | 2020.08.18 |
|---|---|
| R에서`=`와`<-`의 차이점은 무엇입니까? (0) | 2020.08.18 |
| R MarkDown과 R NoteBook의 차이점 (0) | 2020.08.18 |
| Java에는 잘못된 잘못된 데이터에 예외가 발생하지 않는 것이 있습니까? (0) | 2020.08.18 |
| 최대 동시 Socket.IO 연결 (0) | 2020.08.18 |