2015-11-02 3 views
0

База данных не отвечает. В чем проблема? Я занимаюсь с Android. Как и в других веб-сервисах. Но они являются точнымиPHP JSON Web Services

<?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 не определен. Вот пример кода с уловом Error:

<?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 **

Из ваших комментариев, это звучит, как вы хотели бы видеть пример в 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

Поблагодарили u Twisty. –

+0

использовать mysql вместо mysql_i, я хочу знать, что проблема исправлена? –

+0

Я бы предложил посмотреть на MySQLi Procedure. Это больше похоже на функции MySQL. Многие функции могут быть просто заменены на 'mysqli_', но некоторые из них требуют больше аргументов. PDO - это другой вариант. Оба хороши, но некоторые люди предпочитают друг друга. Есть мир преимуществ безопасности. – Twisty