[英]Ajax call PHP function
我想从js调用php文件。 我没有使用Ajax的经验,所以我真的不知道如何正确使用它。 我使用这个功能:
function start(cod){
var result =0;
$.ajax({
type: "POST",
url: "CheckDetails.php",
datatype: "html",
async: false,
data: {cod: cod},
success: function(data) {
result = data;
}
});
return result;
}
和PHP文件:
<?php
check($_POST['cod']);
function check($cod)
{
mysqli_report(MYSQLI_REPORT_STRICT);
$dbhandle = 0;
try {
$username = 'root';
$password = '';
$hostname = 'localhost';
$dbhandle = new mysqli($hostname, $username, $password, 'db') ;
} catch (Exception $e ) {
echo "Service unavailable";
exit;
}
$name = '';
$date = '';
$hour = '';
$result = 0;
$codeResult = mysqli_query($dbhandle, "SELECT name, date, hour FROM records WHERE cod = '$cod'");
if (!$codeResult) {
echo('Database error: ' . mysqli_error($dbhandle));
} else
if ($row = mysqli_fetch_assoc($codeResult)) {
$name = $row{"name"};
$date = $row{"date"};
$hour = $row{"hour"};
$result = 1;
}
echo $result;
}
?>
但似乎不起作用。 我真的不知道问题出在哪里。
似乎在数据库查询中,您仅从表中读取了第一个结果集,而没有返回结果。 如果我的意图正确,那么您在最后一个“ else”子句中将包含以下内容:
...
else {
while($row = mysqli_fetch_array($codeResult)) {
$data[] = array("name" => $row["name"], "date" => $row["date"], "hour" => $row["hour"]);
}
}
...
在代码前面将$ data声明为数组。 这样,您会将查询结果存储在$ data数组中,可以按原样或以json_encoded对象的形式返回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.