2015-11-02 121 views
0

数据库不回答。有什么问题? 我正在使用Android。 与其他Web服务中的类似。但他们准确PHP JSON Web服务

<?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); 
     } 
    //} 
    ?> 
+0

你能更准确地说明你的问题吗? – Nirnae

+0

我正在将值发送到数据库。但它没有得出任何结论。浏览器是空白页面。数据库中有数据直到7000年。是否导致这种情况? –

+0

????你从哪里发送哪个价值?什么是7000? – greenapps

回答

0

MySQL的函数在PHP 5.5.0过时,它是在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。

由于您没有任何通知您或您的应用程序查询失败,因此您将收到一个空白页。

你也打电话$id$gelenid,所以你传递NULL到你的查询。 $id未定义。这是一个错误捕获你的代码示例:

<?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); 
} 
?> 

**编辑**

从您的意见,这听起来像你想看到的MySQLi的例子。请注意,在php.net上有很多例子,我会在这里给你看一个例子:

<?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(); 
?> 
+0

谢谢你Twisty。 –

+0

使用mysql而不是mysql_i我想知道该问题已更正? –

+0

我会建议看看MySQLi程序。这更像是MySQL的功能。很多函数可以简单地用'mysqli_'代替,但有些函数需要传递更多的参数。 PDO是另一种选择。两者都很好,但有些人更喜欢另一个。有一个安全好处的世界。 – Twisty