美好的一天, 我是PHP/MySQL的新手,尝试从ajax发送请求,并在具有多个参数的数据库中选择一行。 这是做这件事的好方法吗?选择具有多个参数的行(ajax和PHP)
AJAX(jQuery的):
function readLine(name, firstname) {
$.ajax({
type: "post",
url: "./php/readLine.php",
dataType: 'json',
data: { name: name, firstname: firstname },
success: function(data) {
console.log(data);
}
error: function(data) {
console.log("An error occured!");
}
});
}
PHP:
<?php
$sql = "SELECT * FROM table1 WHERE firstname=".intval($_POST['firstname'])." AND name=".intval($_POST['name']);
$con = mysqli_connect("localhost", "root", "", "myDB");
if (!$con) {
die("Connection failed: " . mysqli_error($con));
}
$result = mysqli_query($con, $sql);
$to_encode = array();
while($row = mysqli_fetch_array($result, MYSQLI_NUM)){
$to_encode[] = $row;
}
echo json_encode($to_encode);
mysqli_close($con);
?>
感谢您的帮助。
对不起,但这是最糟糕的做法。您对***注入攻击持开放态度。研究'准备好声明'以获得更好的方法 –
'name'和'firstname'是字符串...所以我想我不应该在我的PHP代码中使用'intval'...但是我应该使用什么呢? – EricF