Tizi
@Tizi
гуру программист ( no )

Как получить число строк из бд на PDO?

При разработке сайта мне потребовалось получить из таблице content число строк где user_id = $_SESSION['user_id']. Я знаю как выглядит запрос при использовании mysqli_query


$db_con  = @new mysqli( 'localhost',  'root', '',  'ImgBox_db' );
$user_id = $_SESSION['user_id'];
$user_content_id = "SELECT COUNT(user_id) FROM content WHERE user_id = '$user_id'";
$count  =  mysqli_query( $db_con,  $user_content_id );



но я не понимаю как сделать такое же на PDO. нагуглил вот что


$count=$dbh->query("SELECT COUNT(user_id) FROM content WHERE user_id = '$user_id'")->fetchColumn();



но как я понял что в переменную $dbh прописано подключение к бд. у меня оно осуществляется вот так.


public function connectdb($db_name, $db_user, $db_pass, $db_host = "localhost")
{
    try {
        $this->db = new \pdo("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
    } catch (\pdoexception $e) {
        echo "database error: " . $e->getmessage();
        die();
    }
    $this->db->query('set names utf8');

    return $this;
}



и я не понимаю что писать в место $dbh. если что то не так я понял прошу исправить меня.

P.s : код не мой. взят с этого сайта Клик
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sitalya
Если у тебя в классе, то
$sql_query = 'SELECT COUNT(*) FROM content WHERE user_id = :user_id';
$sql_param = array('user_id'=>$_SESSION['user_id']);
$result = $this->db->prepare($sql_query)->execute($sql_param)->fetchcolumn();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
18 июля 2018, в 23:01
5000 руб./за проект
18 июля 2018, в 22:20
4000 руб./за проект