mysqli php post insérer dans la base de données
Hello dear stackoverflow users,
J'ai un problème étrange. J'ai un 2 formulaire de la page.
page 1 est index.php:
<form action="insert.php" method="post">
<div class="slider"><input type="checkbox" onclick="this.form.checkbox1.checked = this.checked;" id="slider" name="10001" value="10001"><label for="slider"></label></div>
<input type="checkbox" value="127.20" id="checkbox1" name="chk"/>
<input type="submit">
</form>
la page 2 est insert.php
<?php
$q=$_GET["q"];
//Load Joomla! configuration file
require_once('configuration.php');
//Create a JConfig object
$config = new JConfig();
//Get the required codes from the configuration file
$server = $config->host;
$username = $config->user;
$password = $config->password;
$database = $config->db;
$con = mysqli_connect($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$database);
$q = mysqli_real_escape_string($con,$q);
//Save form input
$10001 = $POST_['10001'];
$sql_add = "INSERT INTO cypg8_testtest (10001) VALUES ('$10001')";
$result_add = $mysqli->query($sql_add);
//Close connection
mysqli_close($con);
?>
La table de base de données est appelée: cypg8_testtest
Ce tableau a 2 colonnes et est configuré comme ceci:
id | 10001
Où id est une colonne et 10001 est une colonne.
J'ai été à la recherche sur internet et essayé plusieurs méthodes, y compris:
- http://www.mustbebuilt.co.uk/php/insert-update-and-delete-with-mysqli/
- http://codular.com/php-mysqli
- mysqli ne pas enregistrer dans ma base de données
- http://www.w3schools.com/php/php_mysql_insert.asp
- Envoyer les données du formulaire html à la base de données sql via php (à l'aide de mysqli)
Mais je ne sais pas pourquoi aucun d'entre eux travaillent. Je reçois toutes sortes d'erreurs comme inattendu 10001 ou inattendu ;
Avec le code ci-dessus, j'obtiens l'erreur suivante:
Parse error: syntax error, unexpected '10001' (T_LNUMBER), attend variable (T_VARIABLE) ou '$'
Je veux enregistrer la valeur(valeur=10001) à partir de la première case de la colonne de table 10001
Merci pour toute aide à l'avance.
EDIT 1: <== la Solution est ici.
Le code et la base de données nécessaire de modifier pour le faire fonctionner.
Dans la base de données de la table nom de la colonne devait commencer par une lettre, c'est donc modifié à partir de 10001 à a10001
Ensuite la case nom d'nécessaire de changer également à a10001, pour le faire correspondre avec la db colonne de la table.
L'Enregistrer formulaire d'entrée nécessaires certaines modifications ainsi c'est plus facile à voir dans le code. J'ai donc mis les deux codes ci-dessous pour référence facile.
page 1 est index.php:
<form action="insert.php" method="post">
<div class="slider"><input type="checkbox" onclick="this.form.checkbox1.checked = this.checked;" id="slider" name="a10001" value="10001"><label for="slider"></label></div>
<input type="checkbox" value="127.20" id="checkbox1" name="chk"/>
<input type="submit">
</form>
la page 2 est insert.php
<?php
$q=$_GET["q"];
//Load Joomla! configuration file
require_once('configuration.php');
//Create a JConfig object
$config = new JConfig();
//Get the required codes from the configuration file
$server = $config->host;
$username = $config->user;
$password = $config->password;
$database = $config->db;
$con = mysqli_connect($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$database);
$q = mysqli_real_escape_string($con,$q);
//Save form input
$a10001 = $_POST['a10001'];
mysqli_query($con,"INSERT INTO cypg8_testtest (a10001) VALUES ('".$a10001."')");
//Close connection
mysqli_close($con);
?>
Merci à tous ceux qui ont aidé à obtenir de moi pour la réponse. Et un merci tout spécial pour Arien avec la fourniture de la solution.
Vous devez vous connecter pour publier un commentaire.
Premier POST est incorrecte, il doit être $_POST, votre trait de soulignement est au mauvais endroit.
Deuxièmement, les variables doivent toujours commencer avec des personnages... essayez $a10001 au lieu
Tiers, vous devez concaténer votre chaîne SQL avec votre variable.
ESSAYER:
Le plus important:
http://dev.mysql.com/doc/refman/5.1/en/identifiers.html
Les noms de colonnes ne doivent pas se composer uniquement de chiffres.
Essayez d'utiliser
de joindre votre table nom de la colonne ainsi que le nom de la table. C'est le caractère sous le tilde(~) sur le clavier. Recommandé par l'utilisation du mysql.