programing

PHP를 이용하여 mysql 또는 pdo에서 ALTER 문의 결과를 어떻게 보여주나요?

megabox 2023. 10. 11. 20:37
반응형

PHP를 이용하여 mysql 또는 pdo에서 ALTER 문의 결과를 어떻게 보여주나요?

명령줄에서 쿼리를 실행하면 다음과 같은 결과가 나타납니다.

Query OK, 0 rows affected (0.23 sec)
Records: 0  Duplicates: 0  Warnings: 0

PHP PDO를 이용하여 위의 정보를 얻을 수 있는 방법이 있습니까?

이 정보는 다음에 의해 반환되기 때문에 쉬운 방법은 없습니다.mysql_info()C API 호출(이것은 몇 년 전 pph에서 사용하지 않은 mysql API가 아닌 C API입니다. 비록 동일한 호출을 구현했지만)은 벤더 특정 PDO에서 구현되지 않습니다.

PDOStatement::rowCount()를 사용하여 영향을 받는 행 수 또는 일치하는 행 수를 반환할 수 있습니다.그러나 메서드에서 반환되는 값은 mysql에 대한 연결을 구성하는 방법에 따라 달라집니다.

제공하는 경우PDO::MYSQL_ATTR_FOUND_ROWS구성 옵션으로, 그러면rowCount()일치하는 행을 반환합니다.

$connection = new PDO($dsn, $user, $pass, array(PDO::MYSQL_ATTR_FOUND_ROWS => true));

이 옵션을 제외하면,rowCount()영향을 받는 행을 반환합니다.따라서 단일 연결에서 두 정보를 모두 얻을 수 있는 쉬운 방법은 없습니다.

경고 수를 얻으려면 show warns sql 문을 실행하고 결과 집합을 루프로 통과하여 결과 집합에 있는 경고(또는 노트)를 카운트할 수 있습니다.show warnings결과에는 오류와 메모도 포함되므로 목록을 필터링해야 할 수도 있습니다.

저는 당신이 마지막 진술서에 중복되는 숫자를 어떻게 구할지 모릅니다.

mysqli

PDO 대신 mysqli를 사용한 경우 mysqli_info() 호출을 사용하여 원하는 데이터를 얻을 수 있습니다.

그리고... 사용.microtime(true)시간을 내기 위해서요그리고 실행합니다.SHOW WARNINGS(마치 a인 것처럼SELECT경고(또는 없음)를 받습니다.

언급URL : https://stackoverflow.com/questions/43589684/how-do-you-show-the-result-of-an-alter-statement-in-mysql-or-pdo-using-php

반응형