J'ai une forme reg utilisateur qui insère ensuite dans la db mais son lancer une erreur de param bindbind_param question PHP préparé Insérer déclaration
if(isset($_POST['submit'])){
// Login Query
// Connection
$mysqli = new mysqli("localhost", "root", "", "pg");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
// Query
$query = "INSERT INTO `affiliates` (aid,affname,title,fname,lname,add1,add2,add3,city,county,country,pcode,email,password,paymethod) VALUES (,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('ssssssssssssss',$_POST['affname'],$_POST['title'],$_POST['fname'],$_POST['lname'],$_POST['add1'],$_POST['add2'],$_POST['add3'],$_POST['city'],$_POST['county'],$_POST['country'],$_POST['pcode'],$_POST['email'],$_POST['password'],$_POST['paymethod']); // If 2x Variables are used etc 's' would become 'ss',$_GET['VAR'],$_GET['VAR']
// Bind Results
$stmt->execute();
//$result = $stmt->get_result()->fetch_all();
}
Je ne peux pas travailler sur ce qui est mal quelqu'un peut aider grâce
Mise à jour le formulaire de requête & code
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<p>
<label for="textfield"></label>
<input type="text" name="affname" id="textfield" />
</p>
<p>
<label for="textfield"></label>
<input type="text" name="title" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="fname" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="lname" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="add1" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="add2" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="add3" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="city" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="county" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="country" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="pcode" id="textfield" />
</p> <p>
<label for="textfield"></label>
<input type="text" name="email" id="textfield" />
</p>
<p>
<label for="textfield"></label>
<input type="text" name="password" id="textfield" />
</p>
<p>
<label for="textfield"></label>
<input type="text" name="paymethod" id="textfield" />
<input type="hidden" value="" name="aid" />
</p>
<p>
<input type="submit" name="submit" id="submit" value="Submit" />
</p>
</form>
<?php
if(isset($_POST['submit'])){
// Login Query
// Connection
$mysqli = new mysqli("localhost", "root", "", "pg");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
// Query
$query = "INSERT INTO `affiliates` (aid,affname,title,fname,lname,add1,add2,add3,city,county,country,pcode,email,password,paymethod) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('sssssssssssssss',$_POST['aid'],$_POST['affname'],$_POST['title'],$_POST['fname'],$_POST['lname'],$_POST['add1'],$_POST['add2'],$_POST['add3'],$_POST['city'],$_POST['county'],$_POST['country'],$_POST['pcode'],$_POST['email'],$_POST['password'],$_POST['paymethod']); // If 2x Variables are used etc 's' would become 'ss',$_GET['VAR'],$_GET['VAR']
// Bind Results
$stmt->execute();
//$result = $stmt->get_result()->fetch_all();
}
J'ai modifié la requête et ont maintenant la bonne quantité de vars étant passé Cependant, il montre maintenant AUCUNE erreur mais aussi ne pas insérer les données
Et le message d'erreur est? –
Que SQL n'est pas valide, votre préparation échoue probablement. Je peux deviner l'erreur. '(,?,?,?,?,?,?,?,?,?,?,?,?,?,?' parenthèses manquantes et quelque chose après l'ouverture –