Ich versuche, eine Nummer aus einer MySQL-Zeile zu bekommen und dann an Ajax auszugeben. Die Zahl kann keine Zeichenkette sein, weil ich sie in Ajax multiplizieren werde. Das habe ich bisher. Ich bin mir nicht sicher, was ich von hier aus machen soll.Wie bekomme ich einen einzelnen mysql-Wert und gebe ihn in einen Ajax-Aufruf aus?
Ajax:
$(document).ready(function()
{
$("#btnCalc").click(function()
{
var user = $("#txtUser").val();
var amount = $("#txtAmount").val();
var category = $("txtCat").val();
var number = $("txtNum").val();
var result = '';
$.get("code/value.php",
{
ID:user,
amount:amount,
result:result
},function(query)
{
if (user > 0 and user < 30){
alert(result);
}
else{
alert('invalid user ID');
}
});
});
});
php:
<?php
$userID = $_GET["ID"];
$amount = $_GET["amount"];
$category = $_GET["category"];
$num = $_GET["number"];
require "../code/connection.php";
$SQL = "select userAmount from user where userID= '$userID'";
$reply = $mysqli->query($SQL);
while($row = $reply->fetch_array())
{
}
if($mysqli->affected_rows > 0){
$msg= "query successful";
}
else{
$msg= "error " . $mysqli->error;
}
$mysqli->close();
echo $msg;
?>
** WARNUNG **: Wenn Sie 'mysqli' verwenden, sollten Sie parametrisierte Abfragen und [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php) verwenden Fügen Sie Benutzerdaten zu Ihrer Abfrage hinzu. ** Verwenden Sie NICHT ** String-Interpolation oder Verkettung, um dies zu erreichen, weil Sie einen schwerwiegenden [SQL injection bug] erstellt haben (http://bobby-tables.com/). ** NIEMALS ** $ _POST' oder '$ _GET' Daten direkt in eine Abfrage einfügen. – tadman
Ich bin verwirrt, wo du dich verirrst. Kann man nicht einfach '$ message =" success ";' '$ message = $ row [" itemPrice "];'? –
alles, was Ajax sendet, ist eine Zeichenfolge. Wenn Sie möchten, dass eine Nummer in Ihrem JS-Code eingeht, müssen Sie Maßnahmen ergreifen, damit sie als Nummer ankommt, z. Sende JSON. –