En este caso, lo que está haciendo es recorrer su matriz de resultados y cada vez que está imprimiendo la línea var arrayObjects = [<?php stmt($name) ?>];
. Sin embargo, esto no se convierte entre la matriz de PHP que obtiene como resultado y una matriz de JavaScript.
Desde que empezaste a hacerlo de esta manera, puedes hacer:
<?php
//bind to $name
if ($stmt = $mysqli->prepare("SELECT category.name FROM category")) {
$stmt->bind_result($name);
$OK = $stmt->execute();
}
//put all of the resulting names into a PHP array
$result_array = Array();
while($stmt->fetch()) {
$result_array[] = $name;
}
//convert the PHP array into JSON format, so it works with javascript
$json_array = json_encode($result_array);
?>
<script>
//now put it into the javascript
var arrayObjects = <?php echo $json_array; ?>
</script>