ich mit Bindung paramters in PDO ein Problem m. Dieses Problem tritt auf, wenn ich zwei out-Parameter von einem Javascript verwenden möchte. Mit der Verwendung von .AJAX werden die Variablen an das PHP-Skript gesendet. (Ich testete die Javascript-Variablen sind in meinem PHP-Skript und sie waren in der Tat.)
Ich bekomme keine Fehlermeldung, wenn ich dies benutze Variablen, aber das SQL wird nicht ausgeführt. Wenn ich die Javascript-Variablen durch eine Ganzzahl wie '12344' ersetze, funktioniert es. Der Code, den ich mit m:
session_start();
$user = 'postgres';
$pass = 'baf45baf';
$dans = $_SESSION['dans_code'];
if(isset($_POST['ycoord'], $_POST['xcoord'])) {
$dbh = new PDO("pgsql:host=localhost;dbname=import", $user, $pass);
$sql = 'UPDATE geom_tijd SET x_coord= :x_coord, y_coord= :y_coord WHERE dans_code = :code';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':code', $dans);
$stmt->bindValue(':y_coord', $_POST['ycoord'],PDO::PARAM_INT);
$stmt->bindValue(':x_coord', $_POST['xcoord'],PDO::PARAM_INT);
$stmt->execute();
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
if($stmt->rowCount() == 0){
echo "failure";
} else {
echo "victory";
}
}
Wenn ich die xcoord Echo I '212562,46720' und die yKoord '520411,55763' bekommen.
Die $ dans Variable ist eine Variable, die ich von $ _SESSION bekommen [ 'dans_code']; Diese Variable ist von einem PHP-Skript früher und es funktioniert, wenn ich nur diese Variable verwende.
Dies ist der Teil meiner Javascript, dass der JavaScript-Wert zu erhalten und auch senden. Die Werte sind die x- und y-Koordinaten aus der Mausposition beim Anklicken in der Karte. Dies ist nicht der beste Weg, um diese Variablen zu erhalten, aber es funktioniert.
map.on('click', function() {
var show = document.getElementById("location").innerHTML;
var show_schoonmaken = show.replace('<div class="custom-mouse-position">',"");
var show_klaar = show_schoonmaken.replace('</div>',"");
var show_done = show_klaar.replace(' ',"");
var split = show_done.split(',');
document.getElementById("y_coördinaat").value = split[1];
document.getElementById("x_coördinaat").value = split[0];
$.ajax({
url: 'update_coordinates.php', //This is the current doc
type: "POST",
data: ({xcoord: split[0],ycoord: split[1]}),
success: function(data){
console.log(data);
alert(data);
}
});
});
Woher bekommen Sie diesen '$ dans' Wert? –
Ich habe meine Frage –
bearbeitet. Sie suchen nirgendwo nach Fehlern und wir wissen nicht, wie der Rest Ihres Codes (JS/HTML) aussieht. Schau auch deine Konsole an. –