2017-02-19 5 views
0

Я пытаюсь получить несколько записей из базы данных, но когда я пытаюсь использовать более одной записи. Я всегда пустую.Как я могу получить несколько записей в Php?

Сначала я пытаюсь ОТ DbOperation.php:

public function getDayListByDate($DateString){ 
$stmt = $this->con->prepare("SELECT DateString FROM gk_eng WHERE DateString= ?"); 
$stmt->bind_param("s",$DateString); 
$stmt->execute(); 
$result = $stmt->get_result(); 
return $result; 
} 

PHP данные получить

<?php 
require_once 'DbOperation.php'; 
$db = new DbOperation(); 
$DateString = $_POST['DateString']; 
$devices = $db->getDayListByDate($DateString); 
$response = array(); 
$response['error'] = false; 
$response['devices'] = array(); 

while($device = $devices->fetch_assoc()){ 
$temp = array(); 
$temp['Question']=$device['Question']; 
$temp['Option_2']=$device['DateString']; 
array_push($response['devices'],$temp); 
} 
echo json_encode($response); 

Ответ: { "Ошибка": ложные, "устройства": [{ "Вопрос": нулевой, «Option_2»: «10/1/2016 12:00:00 AM»}, {«Вопрос»: null, «Option_2»: «10/1/2016 12:00:00 AM»}, {«Вопрос»: null, «Option_2»: «10/1/2016 12:00:00 AM»} {«Вопрос»: null, «Option_2»: «10/1/2016 12:00:00 AM»}]}

Но когда я пытаюсь сделать все заново ds и изменить запрос базы данных для получения поля Вопроса в ответе.

public function getDayListByDate($DateString){ 
$stmt = $this->con->prepare("SELECT * FROM gk_eng WHERE DateString= ?"); 
$stmt->bind_param("s",$DateString); 
$stmt->execute(); 
$result = $stmt->get_result(); 
return $result; 
} 

Я получаю результат пустой как "".

Я использую для подключения

function connect() 
    { 
    //Including the constants.php file to get the database constants 
    include_once dirname(__FILE__) . '/Config.php'; 

    //connecting to mysql database 
    $this->con = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); 

    //Checking if any error occured while connecting 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    //finally returning the connection link 
    return $this->con; 
} 
+1

y ou try ** $ stmt-> fetchAll() **? – mmta41

+0

Или можно проверить, действительно ли ваш запрос соответствует любым записям? – Shadow

+0

@ mmta41 На самом деле я новичок в Php. Можете ли вы объяснить, где я использую $ stmt-> fetchAll() –

ответ

-1

Я думаю, что путь вы связывание неверно тоже:

public function getDayListByDate($DateString){ 
     $stmt = $this->con->prepare("SELECT * FROM gk_eng WHERE DateString= :DS"); 
     $stmt->bind_param(":DS",$DateString); 
     $stmt->execute(); 
     $result = $stmt->fetchAll(); 
     return $result; 
    } 
+0

Не работает, я получаю ошибку. –

+0

Я тестирую код без ошибок !, что такое информация об ошибках и используете ли вы PDO для подключения к базе данных? – mmta41

+0

I я использую функцию подключения() { // Включая файл constants.php, чтобы получить базу данных постоянных include_once (__ имя-каталога FILE__) '/Config.php';. // подключение к базе данных MySQL $ this-> жулик = new mysqli (DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); // Проверка произошла ли ошибка при подключении if (mysqli_connect_errno()) { echo "Не удалось подключиться к MyS QL: ". mysqli_connect_error(); } // окончательно возвращает ссылку на соединение return $ this-> con; } –

-1

Try This

function getDayListByDate($DateString) { 
    $result = $this->con->query("SELECT * FROM gk_eng WHERE DateString='$DateString' "); 
    return $result; 
} 

вы можете получить ответ .. если did not get ans .. дайте мне знать

+0

Я использую Mysqli –

+0

ok .. я думал, PDO .. –

 Смежные вопросы

  • Нет связанных вопросов^_^