mysqli_warning_count

(PHP 5)

mysqli_warning_count

(no version information, might be only in CVS)

mysqli->warning_count -- 指定した接続の直近のクエリから発生した警告の数を返す

説明

手続き型:

int mysqli_warning_count ( mysqli link )

オブジェクト指向型(プロパティ):

class mysqli {

int warning_count

}

この接続の直近のクエリについて、発生した警告の数を返します。

注意: 警告の内容を取得するには、SQL コマンド SHOW WARNINGS [limit row_count] を使用します。

パラメータ

link

手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。

返り値

警告の数を返します。警告がなかった場合はゼロを返します。

例 1. オブジェクト指向型

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* ウェールズの珍しい地名です */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')"
;

$mysqli->query($query);

if (
$mysqli->warning_count) {
    if (
$result = $mysqli->query("SHOW WARNINGS")) {
        
$row = $result->fetch_row();
        
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        
$result->close();
    }
}

/* 接続を閉じます */
$mysqli->close();
?>

例 2. 手続き型

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* ウェールズの珍しい地名です */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
        'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')"
;

mysqli_query($link, $query);

if (
mysqli_warning_count($link)) {
    if (
$result = mysqli_query($link, "SHOW WARNINGS")) {
        
$row = mysqli_fetch_row($result);
        
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
        
mysqli_free_result($result);
    }
}

/* 接続を閉じます */
mysqli_close($link);
?>

上の例の出力は以下となります。

Warning (1264): Data truncated for column 'Name' at row 1

参考

mysqli_errno()
mysqli_error()
mysqli_sqlstate()