Warning: Call-time pass-by-reference has been deprecated
Bonjour,
Lorsque je lance le script php ci-dessous
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| <html>
<head>
<title>Affichage de données issues d'une base oracle</title>
<style type="text/css" media="screen"><!--
#calquevert { background-color: #00ff99; visibility: visible; position: absolute; top: 55px; left: 100px; width: 800px; height: 200px }
#calquebleu { background-color: #0000ff; visibility: visible; position: absolute; top: 25px; left: 100px; width: 800px; height: 25px }
--></style>
<?
include 'log_bdr.php';
if (($db=="") or ($user=="") or ($pass=="") or ($nom_table=="")) {
$message = "Paramètres incorrects<br>";
exit();
}
//---Connexion ---//
$oci_conn = @ocilogon($user, $pass, $db);
if (!$oci_conn) {echo "L'utilisateur $user n'a pas pu se connecter à la base $base";
} else {
//-----Le Select ---//
$nape = $_POST['ape']; // récupération variable ape du formulaire
//----- ATTENTION - la syntaxe ....CODE_APE='".$nape."'"; - '.....' est due au type de données VARCHAR2 -----//
$select = "select * from ".$nom_table." where LIB_APE LIKE '%".$nape."%'"; // requête de sélection d'enregistrements
$ordre = ociparse ($oci_conn, $select); // vérification de la requête
ociexecute ($ordre); // Exécution de la requête
$nb_champs = ocinumcols($ordre);
}
//----- Affichage des entêtes ---//
//print "<h1>Contenu de la table $nom_table</h1>"; //<table border=1><tr>";
print "<div id='calquebleu'>";
print "<font color=yellow><b>Votre recherche -> ".$nape."</b></font>\r\n";
print "</div>";
/*for($i = 1; $i <= $nb_champs; $i++) {
print "<th>".ocicolumnname($ordre, $i)."</th>";
}*/
print "</tr>";
//----- Affichage des lignes -----//
print '<div id="calquevert">';
while(ocifetchinto($ordre, &$enregistrement, OCI_NUM)) {
// print "<tr>";
// for($champ = 0; $champ < $nb_champs; $champ++) {
print "<font color=blue><b>".$enregistrement[0]." ".$enregistrement[1]."</b> </font><br>";
// }
// print "</tr>";
}
print '</div>';
// print "</table>";
//----- Libération des ressources -----//
ocifreecursor($ordre);
// ocifreestatement($ordre);
ocilogoff($oci_conn);
// }
?> |
j'ai le message ci-dessous
Code:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:\program files\easyphp1-8\www\aff_donn4.php on line 48
Quelqu'un a t-il une idée sur ce qui provoque cette erreur ?
Le script fonctionnait bien avant que je migre mon EasyPHP 1.6 vers EasyPHP 1.8
Merci pour votre aide
demande d'info sur le même sujet
bonjour à tous
comme j'ai lu tout ce fil de discussion sur ce post , peut-être l'un de vous saura m'éclairer :
j'ai aussi le message :Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). etc etc
donc au lieu de changer le php.ini puisque kioob semblait pas préconiser cela j'ai oté le & dans mon fichier sur la variable &$children dans :
c:\program files\easyphp1.8\www\joomla1.5b2\plugins\system\legacy\functions.php on line 842
ce qui donne donc:
function mosTreeRecurse( $id, $indent, $list, $children, $maxlevel=9999, $level=0, $type=1 )
{
jimport('joomla.html.html');
JHTML::_('menu.treerecurse', $id, $indent, $list, $children, $maxlevel=9999, $level=0, $type=1);
}
mes questions (merci pour la patience de lire ;-)
1/A quoi sert cette fonction si elle vous parle ? je suis zéro en developpement, hélas
2/Qu'est ce que cela change d'enlever ce & , cela marchera quand même ?
3/Si je mets mon site en ligne (la il est en local avec easyphp 1.8 et joomla 1.5) cela change t'il quelque chose ?
Merci à tous.