当前位置 : 主页 > 手机开发 > 无线 >

用于从移动应用程序的mysql服务器获取数据的PHP代码

来源:互联网 收集:自由互联 发布时间:2021-06-10
我的 PHP代码从mysql服务器获取数据以显示哪个适用于网站,但我想使用相同的方法制作移动应用程序, 它是否适用于移动应用程序?因为我在ajax调用下面使用(下面的代码). 我也可以在这
我的 PHP代码从mysql服务器获取数据以显示哪个适用于网站,但我想使用相同的方法制作移动应用程序,
它是否适用于移动应用程序?因为我在ajax调用下面使用(下面的代码).

我也可以在这里使用json,因为我需要帮助.

<?php
include('connect.php');
$filmId=$_GET['filmId'];
$sql ="SELECT *, DATE_FORMAT(filmReleaseDate, '%d %b %Y' ) filmReleaseDate FROM films where filmId ='$filmId'";
mysqli_query("SET NAMES utf8");
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result))
{
    $id=$row['filmId'];
    $name=$row['filmName'];
  $year=$row['filmYear'];

echo "$name, $year";

}
mysql_free_result($result);
mysqli_close($conn);
?>

这是ajax代码,当我点击href它将处理上面的php请求以获取数据.

var xmlhttp = new XMLHttpRequest();
var url = "./searchfilmsbyname.php";
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        myFunction(xmlhttp.responseText);
    }
}
xmlhttp.open("POST", url, true);
xmlhttp.send();

function myFunction(response) {
    var arr = JSON.parse(response);
    var i;
    var out = "";
    for (i = 0; i < arr.length; i++) {
        out += "<li><a href ='filmdetails.php?filmId=" + arr[i].Id + "'>" + arr[i].Film + "</a></li>";
        if ((i + 1) == arr.length) {
            document.getElementById("searchfilmsbyname").innerHTML = out;
            $("#searchfilmsbyname").listview('refresh');
        }
    }    
}
我不确定它是如何在你的网站上工作的,也许你包括它而不是使用ajax,但上面代码的问题是你没有发回有效的json所以:

function myFunction(response) {
  var arr = JSON.parse(response);
  ...

将失败,因为:

$id=$row['filmId'];
$name=$row['filmName'];
$year=$row['filmYear'];

// this does not generate valid json:
echo "$name, $year";

你应该做的是将所有行添加到一个数组中,并且只在结尾处输出只编码为json的数组:

$rows = array();
while($row = mysqli_fetch_array($result))
{
    $rows[] = array('id' => $row['filmId'],
                    'name' => $row['filmName'],
                    'year' => $row['filmYear']);
}
echo json_encode($rows);

除此之外你有一个SQL注入问题.您应该使用预准备语句,而不是将变量直接注入查询.

网友评论