duanchangnie7996 2015-11-02 15:00
浏览 105
已采纳

PHP JSON Web服务

The database does not answer. What's the problem? I'm doing with Android. Similar to that in other web services. But they are accurate

<?php
        header('Content-Type: text/html; charset=utf-8');
        require_once("connect.php");

    if(isset($_POST['id']))
            $gelenid = $_POST['id'];
    else
            $gelenid = $_GET['id'];
    //{
        //$gelenid=$_POST["id"];
    //  $gelenid="36";

        $sql_query="select * from places where ADDED_BY='$id'"; 

        if(!mysql_query($sql_query))
        {
            //  
        }
        else
        {
            $sonucDizisi['basliklar'] = array();

            while($oku=mysql_fetch_array(mysql_query($sql_query)))
            {
                $temp['ilan'] = $oku['TITLE'];
                array_push($sonucDizisi['basliklar'], $temp);
            }

            echo json_encode($sonucDizisi);
        }
    //}
    ?>
  • 写回答

1条回答 默认 最新

  • dousi1906 2015-11-02 17:19
    关注

    MySQL functions are deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used.

    Since you have nothing to notify you or your app that the query failed, you're getting a blank page.

    You also call $id versus $gelenid, so you're passing a NULL to your query. $id is not defined. Here is an example of your code with a Error catch:

    <?php
    header('Content-Type: text/html; charset=utf-8');
    require_once("connect.php");
    
    if(isset($_POST['id'])){
        $gelenid = $_POST['id'];
    } else {
        $gelenid = $_GET['id'];
    }
    $sql_query = sprintf("select * from places where ADDED_BY='%d'", $gelenid); 
    
    if(!mysql_query($sql_query)){
        $error = array("error" => mysql_errno($link) . ": " . mysql_error($link));
        echo json_encode($error)
    } else {
        $sonucDizisi['basliklar'] = array();
        while($oku=mysql_fetch_array(mysql_query($sql_query))){
            $temp['ilan'] = $oku['TITLE'];
            array_push($sonucDizisi['basliklar'], $temp);
        }
        echo json_encode($sonucDizisi);
    }
    ?>
    

    ** EDIT**

    From your comments, it sounds like you would like to see an example in MySQLi. Be aware that there are tons of examples at php.net and I will show you one here:

    <?php
    header('Content-Type: text/html; charset=utf-8');
    if(isset($_POST['id']))
        $gelenid = $_POST['id'];
    else
        $gelenid = $_GET['id'];
    }
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
    
    /* check connection */
    if (mysqli_connect_errno()) {
        $error = array("Error" => "Connect failed: " . mysqli_connect_error();
        echo json_encode($error);
        exit();
    }
    
    /* create a prepared statement */
    if ($stmt = $mysqli->prepare("SELECT * FROM places WHERE ADDED_BY=?")) {
        /* bind parameters for markers */
        $stmt->bind_param("i", $gelenid);
    
        /* execute query */
        if(!$stmt->execute()){
            $error = array("error" => $stmt->errno . ": " . $stmt->error);
            echo json_encode($error);
            $stmt->close();
            $mysqli->close();
            exit();
        }
    
        $result = $stmt->get_result();
        $sonucDizisi['basliklar'] = array();
    
        while ($oku = $result->fetch_assoc()) {
            $temp['ilan'] = $oku['TITLE'];
            array_push($sonucDizisi['basliklar'], $temp);
        }
        echo json_encode($sonucDizisi);
    
        /* close statement */
        $stmt->close();
    }
    
    /* close connection */
    $mysqli->close();
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)