ОБСУЖДЕНИЕ

Вышел раз на раз за школу с PDO

5 сообщений0 просмотровОткрыта
#1
Привет ребята!

Решил подружиться с pdo, и что-то никак видимо я в чс у pdo .комп.

Вроде не сложно на первый взгляд, но не получается даже самое простое.
Можете помочь показать как правильно этот код поправить на pdo

if (isset($_SESSION['step']) && $_SESSION['step'] == 1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '" . $_SESSION['reg_nick'] . "'"), 0) == 0 && isset($_POST['pass1']) && $_POST['pass1'] != NULL && $_POST['pass2'] && $_POST['pass2'] != NULL) {

Тут работа с mysql_query и mysql_result их нужно перевести для pdo и как правильно поправить код тогда целиком??

ЗАРАНЕЕ СПАСИБО ЗА ПОМОЩЬ РЕБЯТА!!
#2
Что-то подобное должно я так понимаю выйти "примерно" ??


$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name'] . "t";
print $row['color'] . "t";
print $row['calories'] . "n";
}


Правильно ли я понял, что нужно работать в этом направлении или это не правильно будет??
#3
Прочитай внимательно документацию.

Метод query возвращает объект класса PDOStatement
Соответственно нужно применять ещё метод fetchAll() у тебя там зависимо от кода

https://www.php.net/manual/ru/class.pdostatement.php
#4
$fruits = $db->query('SELECT `name`, `color`, `calories` FROM `fruit` ORDER BY `name`');

foreach($fruits as $row) {}
#5
PHP
$stmt = $db->prepare('SELECT COUNT(*) FROM `user` WHERE `nick` = :nick');
$stmt->bindParam(':nick', $_SESSION['reg_nick'], PDO::PARAM_STR);
$stmt->execute();

if(!$stmt->fetchColumn()) {
Выполняешь код
}