[Resolu] Portée variables
Posté : 10 juil. 2012, 13:24
Bonjour,
J'ai décidé de modifier mes script pour passer des fonctions mysql_ à mysqli_ comme recommandé dans la doc php.
Prenons deux simples fonctions:
Ensuite, après l'avoir déclarée dans la première fonction, pourquoi ça plante si je ne la redéclare pas dans ma seconde ? Une variable GLOBALE n'est pas sensée être accessible de partout ?
Voici comment je les appelle.
Si je ne la déclare pas, j'ai un "Undefined variable: link"
Merci pour vos éclaircissements.
J'ai décidé de modifier mes script pour passer des fonctions mysql_ à mysqli_ comme recommandé dans la doc php.
Prenons deux simples fonctions:
<?php
function connectionBdd(){
global $link;
$link = mysqli_connect('localhost','root','','base');
if (!$link) {
die('Erreur de connexion ('.mysqli_connect_errno().') '.mysqli_connect_error());
}
}
function actualize($login){
global $link;
$sql=mysqli_query($link,'UPDATE members SET connect="'.date("Y-m-d H:i:s").'" WHERE login="'.$login.'"');
}
?>
Déja, pourquoi dois-je déclarer mon $link en GLOBAL dans ma fonction connectionBDD alors qu'avec l'ancien système (mysql_connect) ce n'était pas nécessaire ?Ensuite, après l'avoir déclarée dans la première fonction, pourquoi ça plante si je ne la redéclare pas dans ma seconde ? Une variable GLOBALE n'est pas sensée être accessible de partout ?
Voici comment je les appelle.
session_start();
include('functions.php');
connectionBdd();
if(!empty($_SESSION['login'])){
actualize($_SESSION['login']);
}
En appelant ma première fonction, la variable $link passe en globale, alors pourquoi la redéclarer dans ma deuxième fonction alors qu'elle existe déjà ?Si je ne la déclare pas, j'ai un "Undefined variable: link"
Merci pour vos éclaircissements.