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é?
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."')");
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.
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é.
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."')");