2015-11-17 4 views
1
<?php 
require("config.inc.php"); 

$query = "Select 1 FROM dogs WHERE dog_id = :iddog "; 

$query_params = array(':iddog'=> $_POST['iddogPHP2']); 

$stmt = $db->prepare($query); 
$result = $stmt->execute($query_params); 
$dono2 = $result ->fetchColumn(1); 
$raca2 = $result ->fetchColumn(2); 
$sex2 = $result ->fetchColumn(3); 
$estado2 = $result ->fetchColumn(4); 

$query = "Select * FROM dogs WHERE dispon = 'Sim' AND dono != '$dono2' AND estado = '$estado2' AND raca = '$raca2' AND sex != '$sexo2' "; 

try 
{ 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute(); 
} 
catch (PDOException $ex) 
{ 
    $response["success"] = 0; 
    $response["message"] = "Database Error!"; 
    die(json_encode($response)); 
} 

// Finally, we can retrieve all of the found rows into an array using fetchAll 
$rows = $stmt->fetchAll(); 

?> 

Это мой код и проблема заключается в том, что переменные dono2, raca2, gender2 не получают значения из базы данных. Что в этом плохого?данных MySQL не возвращаются в PHP переменных

+0

результат печати запроса и проверки –

+0

From: Не удается напечатать Я работаю на андроид с Сообщением, ЧТО PHP –

+0

использование 'Почтальон (Google расширение хром)', чтобы сделать 'Rest API' для тестирования – Karan

ответ

1

Вместо SELECT 1 вам нужно использовать SELECT * в первом запросе.

$query = "Select * FROM dogs WHERE dog_id = :iddog "; 

Следующие возвращает массив результатов

$rows = $stmt->fetchAll(); 

Так что вам нужно будет указать, какой из них ссылки.

$dono2 = $rows[0]['dono']; 
$raca2 = $rows[0]['raca']; 
$sexo2 = $rows[0]['sex']; 
$estado2 = $rows[0]['estado']; 
+1

Или измените' fetchAll' на 'fetch'. Выглядит лучше, чем добавление индекса «0» во всем мире. – Mischa

+0

И вместо того, чтобы делать 'SELECT *' получить столбцы, которые вам действительно нужны –

+0

WORKS, действительно сохранить мою жизнь haha –

0
$rows = $stmt->fetchAll(); 

извлечь все строки из базы данных, нужно указать, какие строки вы хотите, если это многоярусный

   $dono2 = $rows[0]['dono']; 
       $raca2 = $rows[0]['raca']; 
       $sexo2 = $rows[0]['sex']; 
       $estado2 = $rows[0]['estado']; 
0

Попробуйте этот код

$stmt = $db->prepare($query); 
$stmt->bindParam(':iddog', $_POST['iddogPHP2']); 
$stmt->execute($query_params); 

$dono2 = $stmt ->fetchColumn(1); 
$raca2 = $stmt ->fetchColumn(2); 
$sex2 = $stmt ->fetchColumn(3); 
$estado2 = $stmt ->fetchColumn(4); 
Смежные вопросы