par
moogli » 05 août 2016, 12:13
<?php
$sql = " INSERT INTO produits pos_nr = '$pos_nr', farbe = '$farbe', anzahl_laenge_1 = '$anzahl_laenge_1', anzahl_laenge_2 = '$anzahl_laenge_2',anzahl_laenge_3 = '$anzahl_laenge_3', anzahl_laenge_4 = '$anzahl_laenge_4', bemerkung_1 = '$bemerkung_1', bemerkung_2 = '$bemerkung_2', bemerkung_3 = '$bemerkung_3', a = $a, b = $b, c = $c, d = $d, e = $e, alpha = $alpha, beta = $beta, user_id = '$user_id', photo ='$selected_photo'");
echo $sql;
La syntaxe SQL n'est pas correcte, c'est ce qu'indique le message d'erreur. En affichage la requête que tu souhaites afficher tu devrais voir l'erreur. c'est la première chose à faire.
utiliser les variables comme ça dans une chaîne de caractères c'est pas une bonne idée. Parce que c'est pas lisible, et parce que tu ne "protège" pas ta requête de possible problèmes induis parles données.
La typiquement si tu as un champs qui contient une apostrophe c'est foute tu as ton erreur de syntaxe.
il faut soit utiliser la méthode mysqli_real_escape_string si tu utilise mysqli soit la méthode quote si tu utilises PDO.
voir une requête préparée si cela se justifie.
@+
[php]<?php
$sql = " INSERT INTO produits pos_nr = '$pos_nr', farbe = '$farbe', anzahl_laenge_1 = '$anzahl_laenge_1', anzahl_laenge_2 = '$anzahl_laenge_2',anzahl_laenge_3 = '$anzahl_laenge_3', anzahl_laenge_4 = '$anzahl_laenge_4', bemerkung_1 = '$bemerkung_1', bemerkung_2 = '$bemerkung_2', bemerkung_3 = '$bemerkung_3', a = $a, b = $b, c = $c, d = $d, e = $e, alpha = $alpha, beta = $beta, user_id = '$user_id', photo ='$selected_photo'");
echo $sql;[/php]
La syntaxe SQL n'est pas correcte, c'est ce qu'indique le message d'erreur. En affichage la requête que tu souhaites afficher tu devrais voir l'erreur. c'est la première chose à faire.
utiliser les variables comme ça dans une chaîne de caractères c'est pas une bonne idée. Parce que c'est pas lisible, et parce que tu ne "protège" pas ta requête de possible problèmes induis parles données.
La typiquement si tu as un champs qui contient une apostrophe c'est foute tu as ton erreur de syntaxe.
il faut soit utiliser la méthode mysqli_real_escape_string si tu utilise mysqli soit la méthode quote si tu utilises PDO.
voir une requête préparée si cela se justifie.
@+