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';
}
}
}