MySQLiオブジェクト向け実践--insert、update、delete

2555 ワード

insertの実行
connect("localhost","root","root","test");
    if ( $mysqli->connect_errno ){
        die( $mysqli->connect_error );
    }
    $mysqli->set_charset("utf8");
    $sql = "insert into mysqli (id, name) values (null, 'liming')";
    $res = $mysqli->query($sql);
    var_dump($res);
    if( $res ){
        echo $mysqli->insert_id; 
    } else {
        echo "error:".$mysqli->errno." : ".$mysqli->error;
    }
    $mysqli->close();
?>

  
updateの実行
connect("localhost","root","root","test");
    if ( $mysqli->connect_errno ){
        die( $mysqli->connect_error );
    }
    $mysqli->set_charset("utf8");
    $sql = "update mysqli set name = 'doUpdate' where id>8;";
    $res = $mysqli->query($sql);
    var_dump($res);
    if( $res ){
        echo $mysqli->affected_rows; //     SQL         
    } else {
        echo "error:".$mysqli->errno." : ".$mysqli->error;
    }
    $mysqli->close();
?>

 
  
削除の実行
connect("localhost","root","root","test");
    if ( $mysqli->connect_errno ){
        die( $mysqli->connect_error );
    }
    $mysqli->set_charset("utf8");
    $sql = "delete  from mysqli where id>8;";
    $res = $mysqli->query($sql);
    var_dump($res);
    if( $res ){
        echo $mysqli->affected_rows; //     SQL         
    } else {
        echo "error:".$mysqli->errno." : ".$mysqli->error;
    }
    $mysqli->close();
?>

  
注意する
affected_の場合rowsの値には、レコードの削除を例にいくつかの場合があります.
1->SQL文が正常に実行され、削除されたレコード数が0より大きい場合、affected_rowsは影響を受けるレコード数です
2->SQL文は正常に実行され、条件を満たすレコードは1つもありません.つまり、削除されたレコードが0の場合、affected_rowsは0
3->SQL文エラー、つまりSQL文は実際に実行されていません.エラーが発生したためstopになります.affected_rowsの値は-1です
注意2
  insert_idとは、現在SQL文が実行される前に、データベーステーブルのauto_SQL文挿入後のauto_incrementの値.
最初のデータベースが空であると仮定し、1つのデータを挿入するとidは1になり、auto_incrementが2になり、insert文で複数のデータを一度に挿入してauto_を取得します.incrementの値(すなわちinsert_id)は、最後に挿入されたデータのプライマリ・キーが自己増加したidになることなく、複数のデータを挿入する前の2を実行する.
テーブルにauto_がない場合increment、insert_idは0を返します.
 
転載先:https://www.cnblogs.com/-beyond/p/8457580.html