Какая функция PDO равна db :: getOne - PullRequest
2 голосов
/ 07 декабря 2010

Мне интересно, какая функция PDO равна db :: getOne? У меня есть это, мне нужно изменить на PDO:

$count = db::getOne($query,$id,$showU['id']);

Ответы [ 3 ]

2 голосов
/ 07 декабря 2010
$st = $pdodb->prepare($query);
$st->bindValue('id', $id);
$count = $st->fetchColumn();

Предполагается, что вы используете именованные параметры, которые всегда лучше, чем позиционные параметры IMO.

1 голос
/ 07 декабря 2010

Вам действительно нужно предоставить больше информации, но я собираюсь предположить, что id и $showU['id'] - это параметры, которые должны быть связаны с $query, и что getOne повторяет одну запись. Если эти предположения верны, вы бы сделали что-то вроде:

$query = "SELECT count(id) as nb_records FROM your_table_name WHERE id = :id AND uID = :uid";
$stmt = $pdo->prepare($query);
$stmt->execute(array(':id' => $id, ':uid' => $showU['id']);
$count = $stmt->fetchColumn();

Вы, конечно, можете связать их.

0 голосов
/ 08 декабря 2010

Это пользовательская функция. Можно использовать не только готовые функции, но и создавать новые. Итак, getOne такого рода. Это не имеет ничего общего с PDO или другой библиотекой. Это скорее из вашей собственной библиотеки. Но, конечно, это можно сделать и с помощью PDO.

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

Единственная цель этой функции - сделать для вас меньше работы и сделать ваш код более читабельным. Это не влияет на результаты. Так что это не обязательно.

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