Unable to send data to Blynk through raspberry pi pico w

I am unable to send MQ sensor data to Blynk through Raspberry Pi Pico W. I am using Micropython. Raspberry Pi Pico W is connected to Blynk as it shows my device as online. But the sensor values are not displayed. The blynk.virtual_write is may be incorrect. Please help me to solve this issue.
Below is my code:

import time
import network
from machine import Pin, ADC
import BlynkLib

MQ_2_PIN = Pin(26, Pin.IN)    # Example pin for MQ-2 sensor
MQ_135_PIN = Pin(27, Pin.IN)  # Example pin for MQ-3 sensor
MQ_3_PIN = Pin(28, Pin.IN)    # Example pin for MQ-135 sensor

mq2 = ADC(MQ_2_PIN)
mq3 = ADC(MQ_3_PIN)
mq135 = ADC(MQ_135_PIN)

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("JioFi_2DF4F1D", "rgdr5nqtmp")
BLYNK_AUTH = 'JpHXM6_yUbG7JOQcIbFPwP_4LSJEtRzy'

blynk = BlynkLib.Blynk(BLYNK_AUTH)

wait = 10
while wait > 0:
    if wlan.status() < 0 or wlan.status() >= 3:
        break
    wait -= 1
    print('waiting for connection...')
    time.sleep(1)

if wlan.status() != 3:
    raise RuntimeError('network connection failed')
else:
    print('connected')
    ip = wlan.ifconfig()[0]
    print('IP:', IP)

blynk = BlynkLib.Blynk(BLYNK_AUTH)
@blynk.on('V8')
def read_virtual_pin8_handler():
    print("8 handler")
    mq2_value = mq2.read_u16()
    blynk.virtual_write(8, mq2_value)  # Virtual pin 8 for MQ-2 sensor

@blynk.on('V9')
def read_virtual_pin9_handler():
    print("9 handler")
    mq3_value = mq3.read_u16() 
    blynk.virtual_write(9, mq3_value)
    
@blynk.on('V10')
def read_virtual_pin10_handler():
    print("10 handler")
    mq135_value = mq135.read_u16() 
    blynk.virtual_write(10, mq135_value)

while True:
    blynk.run()         # Run Blynk
    read_virtual_pin8_handler()
    read_virtual_pin9_handler()
    read_virtual_pin10_handler()
    time.sleep(1)       # Delay for stability

@ShreyaBarsude Please edit your post, using the pencil icon at the bottom, and remove the blockquotes from your code and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:
```

Copy and paste these if you can’t find the correct symbol on your keyboard.

Pete.

I have edited the post as per your instructions.

I have modified the code and now it is working fine, but now I can’t autorun the code when powered up. Please help

Modified code:

from machine import Pin, ADC
import utime
import network
import time
import BlynkLib

# WiFi credentials
WIFI_SSID = "ssid"
WIFI_PASSWORD = "password"
 
# Blynk authentication token
BLYNK_AUTH = "auth"
 
# Pins connected to MQ sensors
MQ_2_PIN = 26    # Example pin for MQ-2 sensor
MQ_135_PIN = 27  # Example pin for MQ-3 sensor
MQ_3_PIN = 28    # Example pin for MQ-135 sensor

mq2_adc = ADC(Pin(MQ_2_PIN))
mq3_adc = ADC(Pin(MQ_3_PIN))
mq135_adc = ADC(Pin(MQ_135_PIN))

LED = Pin(25, Pin.OUT)

# Connect to WiFi network
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect(WIFI_SSID, WIFI_PASSWORD)
 
# Wait for the connection to be established
while not wifi.isconnected():
    sleep(1)
 
# Initialize Blynk
blynk = BlynkLib.Blynk(BLYNK_AUTH)
 
# Run the main loop
while True:

    LED.value(1)
    utime.sleep(.5)
    LED.value(0)
    utime.sleep(.25)
    mq2_reading = mq2_adc.read_u16()
    mq3_reading = mq3_adc.read_u16()
    mq135_reading = mq135_adc.read_u16()-17000
    print(mq135_reading)
 
 # Send sensor data to Blynk
    blynk.virtual_write(8, mq2_reading)  # virtual pin for MQ-2 sensor
    blynk.virtual_write(9, mq3_reading)  # virtual pin for MQ-3 sensor
    blynk.virtual_write(10, mq135_reading)  # virtual pin for MQ-135 sensor
     
    # Run Blynk
    blynk.run()
 
    time.sleep(1)