2015-11-02 173 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