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 : код не мой. взят с этого сайта Клик
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 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
Похожие вопросы