2009-08-25 10 views
0

Le code suivant renvoie une erreur dans PHP 5.2.9 après la soumission, mais pas sur le chargement d'origine. Erreur: Erreur fatale: Les variables ne peuvent être transmises par renvoi dans /home/golfcom/public_html/test.php en ligne 12PHP: Erreur fatale après un formulaire POST

Fichier:

<?php 
include('connection.php'); 
$result = $dbc->query("SELECT subdivision FROM Residential"); 
$search['subdivision'] = array(); 

while($i = $result->fetch_array()){ 
    echo $i['subdivision']; 
    array_push($search['subdivision'], $y = $i['subdivision']); 
} 
?> 
<form action="test.php" method="post"> 
<input type='submit' value='search' class='submit' name='search' /></form> 

Répondre

0

Ignorer cette question, je reçois des résultats incohérents . Je pense que mon hôte est bancal.

1

Juste une supposition, mais peut-être qu'il a quelque chose à voir avec l'opération d'affectation dans la fonction:

array_push($search['subdivision'], $y = $i['subdivision']); 

Essayez ceci:

$y = $i['subdivision']; 
array_push($search['subdivision'], $y); 
0

Vous avez pas de contrôle d'erreur. Vous devez vérifier les points suivants:

  • votre connexion de base de données est OK et connecté
  • la requête n'a pas d'erreur et a renvoyé un résultat valide (même s'il n'y a pas de lignes)
  • N'essayez d'imprimer une ligne s'il n'y en a pas retourné par la requête

Dans votre boucle, $ y sera la valeur de la dernière ligne et est définie à chaque boucle. Bien que ce ne soit pas incorrect, vous pouvez changer votre code à quelque chose comme:

$t = $result->numRows(); 
while ($row = $result->fetch_array()) { 
    $search['subdivision'][] = $row['subdivision']; 
} 
$lastResult = $search['subdivision'][$t - 1]; 
1

Compris. Mon hôte avait register_globals sur. Allumer si éteint tout fixé.

Questions connexes