Instrução preparada: o número de variáveis não corresponde ao número de parâmetros na instrução preparada

Sei que essa pergunta já foi feita várias vezes antes, mas não vejo nenhum problema no meu código e ainda assim recebo esse erro No meu código, o que não faz sentido.

arning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in line 131

Este é o meu código completo:

    if($stmt = $db_conx->prepare("SELECT id, product_name FROM yt ORDER by id") ) {
  //die( $db_conx->error );

$product_list = "";
$stmt->bind_param("is", $id, $product_name);
if ( ! $stmt->execute() ) {
  die( $stmt->error );
}
$stmt->bind_result($id, $product_name);
$stmt->store_result();

while($stmt->fetch()) {
    $value[] = array('id'=>$id, 'product_name'=>$product_name);
    $product_list .= "<li class='mix ".$product_name."' data-name='".$product_name."'><a href='../product_images/" . $id . "Image1.jpg'>
                                        <img src='../product_images/" . $id . "Image1.jpg'></a>
                                        <h4>".$product_name."</h4>
                                        <br>

                                    </li>
                                    <div style='width:120px;'><a href='edit.php?edit=$id'>Edit this product</a></div>
<br>
<div style='width:120px;'><a href='products.php?delete=$id'>Delete this product</a></div>";

$files = glob('../cache/*'); // get all file names
foreach($files as $file){ // iterate files
  if(is_file($file))
    unlink($file); // delete file
}
    }
}
mysqli_stmt_close($stmt);

E é isso que há na linha 131:

$stmt->bind_param("is", $id, $product_name);

está faltando alguma coisa?

Qualquer ajuda ou conselho seria bem-vindo.

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion