выбор одной записи с использованием PHP PDO и результата возврата

как получить одну строку со всеми столбцами в пользовательской php-функции и вернуть результат

вот мой код пользовательских функций

function getdata($sql,$dbh) { $result=$dbh->prepare($sql); $res=$result->fetchAll(PDO::FETCH_ASSOC); // var_dump($res); return $res; } 

не работает …?

Позвольте мне предложить вам немного изменить этот подход, чтобы сделать его более гибким.

  • Во-первых, вам определенно нужно заставить эту функцию принимать массив с данными для execute () . В противном случае не будет смысла использовать подготовку или PDO вообще.
  • Затем заставьте свою функцию вернуть инструкцию. Это сделает его чрезвычайно гибким

Итак, измените код на этот

 function getdata($dbh, $sql, $params = NULL) { $stmt = $dbh->prepare($sql); $stmt->execute($params) return $stmt; } 

таким образом вы сможете получить одну запись.

 $row = getdata($dbh, $sql)->fetch(); 

или несколько строк

 $row = getdata($dbh, $sql)->fetchAll(); 

или даже запускать вставки или обновления запросов, из которых вы не можете получить вообще.

Вы не выполняете свой запрос ?!

 $dbh = new PDO("connection string"); $get_row = $dbh->prepare($sql); $get_row->execute(); $row = $get_row->fetch(); 

Попробуйте это для получения Single Row всего столбца.