J'ai ce morceau de code qui fonctionne sur mon serveur de test XAMPP local. Le problème est, lorsqu'il est poussé vers le serveur de production, il casse. Ce n'est pas un problème avec la connexion à la base de données, et PHP/MySQL sont tous deux à 5.3 sur le serveur de production donc ce n'est pas l'utilisation des anciennes versions de l'un ou l'autre. Je pense que c'est l'utilisation de la boucle foreach au lieu de la boucle while plus standard; si c'est ça, pourquoi?PHP Foreach sur MySQLi Jeu de résultats
<?php
$res = $mysqli->query('DESCRIBE '.$table);
$columnCount = 0;
echo '<ul>';
foreach($res as $field) {
if(in_array($field["Field"], $sheetData[0])) {
echo '<li>';
//var_dump($field);
echo $field['Field'].' - '.$field['Type'];
echo "</li>\r\n";
$columnCount++;
}
}
echo '</ul>';
?>
EDIT: Pour clarifier, il casse en n'émettant rien du tout; lors de l'insertion d'une simple déclaration d'écho dans la boucle, il semble même ne pas l'exécuter.
EDIT2: J'ai ajouté une réponse ci-dessous qui va dans un peu plus de détails sur ce que le problème était réellement et pourquoi ce code fonctionne réellement dans certaines conditions.
Comment ça casse? Quelles erreurs récupérez-vous de la base de données? – andrewsi
vérifiez 'phpinfo' et assurez-vous que l'extension pour mysql est activée, et ajoutez une vérification d'erreur à votre code – ManseUK
@andrewsi: J'ai ajouté plus de détails à la question. – moberemk