0

重複の可能性:
MySQL - MySQL 結果インデックスの行 0 にジャンプできない

mysql_result(): 行 0 にジャンプできませんというエラーが表示されます。以下の関数の何が問題なのかわかりません

function update_counter($post_id){
    global $wpdb;       
    $query = "SELECT view_count FROM ".$wpdb->prefix."advert_views WHERE postid = $post_id";
    if(@$query_run = mysql_query($query)){
        $count = mysql_result($query_run, 0, 'view_count' );
        $count_inc = $count + 1;
        $query_update = "UPDATE ".$wpdb->prefix."advert_views SET view_count = $count_inc WHERE postid = $post_id";
        if(@$query_update_run = mysql_query($query_update)){
            echo 'OK';
        }
    }
}

さて、以下のコードで関数を変更すると、エラーがなくなりました。他の質問を参照してください。しかし、私はロジックを正しく理解できません。> 0が実際に何をするのか、このロジックを理解するのを手伝ってくれる人はいますか?

function update_counter($post_id){
    global $wpdb;
    $query = "SELECT view_count FROM ".$wpdb->prefix."advert_views WHERE postid = $post_id";
    $query_run = mysql_query($query);
    if(mysql_num_rows($query_run) > 0) {
        $count = mysql_result($query_run, 0, 'view_count' );
        $count_inc = $count + 1;
        $query_update = "UPDATE ".$wpdb->prefix."advert_views SET view_count = $count_inc WHERE postid = $post_id";
        if(@$query_update_run = mysql_query($query_update)){
            echo 'OK';
        }
    }
}
4

0 に答える 0