Avertissement: mysqli_query() s'attend à ce paramètre 1 pour être mysqli, null donné dans
Je suis en train de construire un simple CMS personnalisé, mais j'obtiens une erreur:
Avertissement: mysqli_query() s'attend à ce paramètre 1 pour être MySQLi, null donné dans
Pourquoi j'obtiens cette erreur? Tout mon code est déjà MySQLi et je suis l'aide de deux paramètres, pas un.
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");
//check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
function getPosts() {
$query = mysqli_query($con,"SELECT * FROM Blog");
while($row = mysqli_fetch_array($query))
{
echo "<div class=\"blogsnippet\">";
echo "<h4>" . $row['Title'] . "</h4>" . $row['SubHeading'];
echo "</div>";
}
}
Comment êtes-vous accéder à la
..et en passant
C'est un problème de délimitation de l'étendue. Vous avez besoin de passer
getPosts
fonction?..et en passant
$con
variable?C'est un problème de délimitation de l'étendue. Vous avez besoin de passer
$con
à getPosts()
OriginalL'auteur Philip | 2013-09-18
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans les commentaires, c'est un problème de délimitation de l'étendue. Plus précisément,
$con
n'est pas dans le champ d'application au sein de votregetPosts
fonction.Vous devez passer votre objet de connexion en tant que dépendance, par exemple,
Je voudrais également fortement conseillé d'arrêter l'exécution si votre connexion échoue. Quelque chose comme cela devrait suffire
L' (obsolète) de l'extension MySQL serait la dernière connexion si la
$link_identifier
argument n'a pas été transmis à des fonctions commemysql_query
. L'extension MySQLi n'offre pas une telle commodité.OriginalL'auteur Phil
utilisation étendue globale sur votre $con et de le mettre à l'intérieur de vos méthodes getposts() la fonction
comme si.
OriginalL'auteur user3169490
La
getPosts()
fonction semble être attend$con
être mondial, mais vous n'êtes pas la déclarer comme tels.Beaucoup de programmeurs égard chauve variables globales comme une "odeur de code". L'alternative à l'autre extrémité de l'échelle est passe toujours autour de la ressource de connexion. À mi-course entre les deux est un singleton appel qui renvoie toujours le même handle de ressource.
OriginalL'auteur staticsan