2017-04-07 1 views
0

Puis-je faire quelque chose comme en PHP ?:

for($i=0; $i <= 5; $i++){ 
    $anyway = $_POST['smth'].$i; 
} 

Comment puis-je utiliser ce Mysql insérer dans la fonction.

$sql = "INSERT INTO try (column_1) VALUES ('".$anyway."')"; 
+0

http: // php. net/manual/fr/mysqli.quickstart.prepared-statements.php – Jpsh

+1

Vous réaffectez '$ anyway' à chaque fois dans la boucle. A la fin ce sera juste la valeur de la dernière itération, donc c'est juste $ $ anyway = $ _POST ['smth']. "5"; ' – Barmar

Répondre

1

Tout d'abord, je vous recommande de stocker $ _POST [ 'smth'] dans une variable avant de l'utiliser dans votre boucle.

$smth = $_POST['smth']; //remember to sanitize strings taken from user input 
$anyway = ""; // Declare $anyway before the for loop to avoid overwriting it 
for($i=0; $i <= 5; $i++){ 
    $anyway = $smth.$i; 
} 

Ensuite, vous devrez configurer et tester votre connexion de base de données:

$mysqli = new mysqli("example.com", "user", "password", "database"); 
if ($mysqli->connect_errno) { 
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; 
} 

Enfin, préparer, lier et exécuter votre requête:

$stmt = $mysqli->prepare("INSERT INTO (column_1) VALUES (?)"); 
$stmt->bind_param("s", $anyway); 
if (!$stmt->execute()) { 
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error; 
} 
+0

Le point d'utilisation d'une instruction préparée est d'utiliser' mysqli_stmt_bind_param' plutôt que de substituer des variables dans '$ sql'. – Barmar

+0

Vous avez raison; J'ai mis à jour ma réponse pour inclure la fonction bind_param() ainsi que pour déclarer la variable $ anyway en dehors de la boucle for pour éviter de l'écraser. –