web-dev-qa-db-fra.com

mysqli_query attend au moins 2 paramètres

Cette commande mysqli_query entraîne l'erreur ci-dessous 

mysqli_query("INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')"); 

"Attention: mysqli_query () attend au moins 2 paramètres, 1 donné dans"

Que signifie ce message d'erreur et comment peut-il être corrigé?

9
Joe Winfield

vous devez spécifier la connexion que vous avez établie avec votre base de données plus tôt dans votre page. vous devriez mettre cette variable dans la requête. Supposons que vous ayez créé une variable appelée $ con. Ensuite, votre code devrait être comme ça.

mysqli_query($con,"INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')"); 
17
RonnyRules

De la manuel

Procedural style

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Vous remarquerez les variables $link et $query.

Cela signifie que vous devez transmettre à la fonction une ressource de lien mysqli valide ainsi que la requête que vous souhaitez exécuter. Cela permet à la fonction de savoir quelle connexion établie avec le serveur doit être utilisée.

Une ressource de lien peut être créée en utilisant:

Style procédural uniquement: identifiant de lien renvoyé par mysqli_connect () ou mysqli_init ()

vous trouverez un exemple de procédure à suivre dans la page de manuel susmentionnée.

4
Ben Swinburne

Il semble que vous confondez mysql_query avec mysqli_query. Le premier accepte l'instruction sql en tant que premier paramètre, tandis que le dernier attend un identifiant de lien (créé par Mysqli :: connect) en tant que premier paramètre et l'instruction en tant que second.

Les deux extensions ne sont pas compatibles l'une avec l'autre. Je vous suggère de choisir l’un d’entre eux, de lire les pages de manuel sur la manière de vous connecter, d’exécuter des requêtes, etc. et d’oublier que l’autre existe. mysqli est plus riche en fonctionnalités, mais plus compliqué.

3
erm410

mysqli_query excepte 2 paramètres, la première variable est la variable équivalente mysqli_connect, la deuxième est la requête que vous avez fournie

$name1 = mysqli_connect(localhost,db_username ,db_pswd ,db_name );

$name2 = mysqli_query($name1,"INSERT INTO `counter`.`hits` (`page_hits`) VALUES ('".$hits."')");