Ich verwende Ajax, um Daten an eine PHP-Seite zu senden, die MySQL abfragt und die Ergebnisse zurückgibt. Ich habe auf meiner Seite eine Variable, die den Fehlerwert enthält. Wenn ich jedoch var_dump ($ _ POST) sehe, sehe ich, dass die Variable ein Array ist.Wie dekodiere ich JSON-Array
Wenn ich manuell einen Wert in die Abfrage eingeben, werden Daten zurückgegeben. Verwenden Sie jedoch nicht meine $ dept var.
Wie dekodiere ich dieses Array, um die Variable für meine Abfrage verfügbar zu machen. Dank
Ajax Code
$.ajax({
url: 'deptdata.php',
type: "POST",
contentType: "application/json; charset=utf-8",
data: {dept: depts},
dataType: "json",
success: function (data) {
console.log(data);
},
error: function (data) {
alert('error');
}
});
Beitrag in Firebug Tab
dept=DEMOBILL
deptdata.php
<?php
$dept = $_POST['dept']; <--- array?
//open connection to mysql db
$connection = mysqli_connect("localhost","root","","sample") or die("Error " . mysqli_error($connection));
//fetch table rows from mysql db
$sql = "select custref from boxes where department = '".$dept."' and status = 1";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
//create an array
$emparray = array();
while($row = mysqli_fetch_assoc($result))
{
$emparray[] = $row;
}
echo json_encode($emparray);
//close the db connection
mysqli_close($connection);
?>
Sie zu mysql Injektion offen sind, dann schauen Sie in [hergestellt Aussagen] (http://php.net/manual/en/mysqli.quickstart.prepared- Statements.php). – Nytrix
Sie scheinen keine JSON zu senden und sollten dies nicht tun müssen. Nicht sicher, warum Sie 'contentType' dafür setzen. Zeigen Sie, wie 'depts' definiert ist – charlietfl
Nur auf lokalen, also keine Notwendigkeit für securty, bis es live geht – user1532468