sql >> データベース >  >> RDS >> Mysql

UPDATEのmysqli_affected_rowsは、完全な行の一致で0を返すことがあります

    mysqli_infoを使用できます 2つのケースを区別するために必要な情報を取得します。 mysqli_info($link) UPDATEの後 クエリは

    のような文字列を返します
    Rows matched: 1 Changed: 1 Warnings: 0
    

    次に、たとえばpreg_matchを使用して解析できます。 :

    // $info = mysqli_info($link);
    $info = 'Rows matched: 12 Changed: 8 Warnings: 0';
    preg_match('/Rows matched: (\d+) Changed: (\d+)/', $info, $matches);
    list(, $matched, $changed) = $matches;
    echo "$matched rows matched, $changed rows changed\n";
    

    出力:

    12 rows matched, 8 rows changed
    

    その後、$matchedの値を使用できます および$changed 2つのケースを区別するため。




    1. php-mysql結果行の重複フィールドを削除します

    2. SQLServerデータベースの破損の原因と解決策を調べる

    3. OracleSQLDeveloperでのExplainPlanの実行の結果を理解する

    4. PHP-MySQLでのSELECTのパラメータ値のコーディング