2015-06-27 5 views
0

Я пытаюсь получить мою строку результатов в массиве. Когда я запускаю код, он говорит мне следующее:

Call to a member function fetch() on boolean in file.php on line 69 

Я делаю следующее

$query = "INSERT INTO table(info) VALUES(:info)"; 

$params = array(':info' => $_POST['info']); 

try { 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($params); 
} 
catch (PDOException $ex) { 
    $response["error"] = TRUE; 
    $response["error_msg"] = "Insertion Error. Please Try Again"; 
    echo $response["error_msg"]; 
    die(json_encode($response)); 
} 

while($row = $result->fetch()) { 

} 

echo $row["info"]; 

Я новичок в PHP, так что я не совсем уверен, что я делаю неправильно здесь , Я могу прояснить что угодно, если это необходимо. Вся помощь приветствуется!

+1

Вам нужно понять, что запрос 'INSERT' не возвращает ничего из базы данных, он возвращает только« истину или ложь »на основе успешного выполнения. Запрос SELECT будет возвращать «результатный объект» из группы строк из вашей базы данных. На этом вы можете применить 'fetch()'. –

ответ

0

Вставка ничего не возвращает. Это будет, если вы измените запрос к ЗЕЬЕСТУ, как, например:

SELECT * FROM info. 

также поставил $ строку [ «информация»] внутри некоторое время, потому что в то время как повторяется до тех пор пока нет ничего, чтобы принести. то есть он будет печатать $ row ["info"] для всех ваших строк базы данных.