Запрос к базе данных в сниппете
Наверно это уже заезжена тема, но сколько не ищу не могу реализовать то что нужно. Вроде ничего сложного, но не получается.
У меня есть такой сниппет, Он выбирает данные из таблицы, если есть кука или если нету ее.
Таблица создана мной, для своих целей. Там пользователи с данными
код:
Есть ли альтернатива mysqli_connect?
У меня есть такой сниппет, Он выбирает данные из таблицы, если есть кука или если нету ее.
Таблица создана мной, для своих целей. Там пользователи с данными
код:
<?php
if(isset($_COOKIE['user'])){
$idUser = substr($_COOKIE['user'], 60, -77);
$link = mysqli_connect(
'localhost', /* Хост, к которому мы подключаемся */
'root', /* Имя пользователя */
'', /* Используемый пароль */
'lifepoland'); /* База данных для запросов по умолчанию */
if (!$link) {
printf("Error connect Date Base", mysqli_connect_error());
exit;
}
if ($result = mysqli_query($link, "SELECT * FROM `diol8wz_my_users_site` WHERE `id`='$idUser'")) {
while( $row = mysqli_fetch_assoc($result) ){
$thisNameUser = $row['name'];
}
mysqli_free_result($result);
echo ucwords($thisNameUser);
}
mysqli_close($link);
}
else {
echo 'Вход';
}
Кто подскажет какие есть методы в modx что не прописывать здесь жестко данные подключения к базе.Есть ли альтернатива mysqli_connect?
Комментарии: 4
во-первых, какой mysqli в 2020? давно придуман удобный PDO
во-вторых, в MODX принято при создании своих таблиц прописывать схему и работать с таблицей уже через объекты
в-третьих, код выше лучше никому не показывать, во избежание фантомных сердечных приступов
во-вторых, в MODX принято при создании своих таблиц прописывать схему и работать с таблицей уже через объекты
в-третьих, код выше лучше никому не показывать, во избежание фантомных сердечных приступов
Спасибо Артем. То что прописывать схему то слыхал, но так как это не правило, а принято, то пока так работает. Так сказать в ознакомительном варианте.
А вот разобраться как с PDO работать в modx
Можете хоть самый простой пример привести, как подключится к базе, выбрать данные с n-ой таблицы и вывести на экран, в цыкле
А вот разобраться как с PDO работать в modx
Можете хоть самый простой пример привести, как подключится к базе, выбрать данные с n-ой таблицы и вывести на экран, в цыкле
но так как это не правило, а принятоэто вполне себе правило, если хочется работать с таблицей нормально, а не писать сырые запросы
как подключится к базезачем куда-то подключаться? таблица находится в какой-то внешней бд?
подозреваю, что она находится в той же самой бд, что и modx, поэтому подключение уже прописано в конфиге
тут хорошая статья про запросы через pdo
Спасибо ) разобрался с выводом. Я почему-то даже не подумал что подключения делать то и не нужно
Вывод решил так:
Вывод решил так:
$idUser = substr($_COOKIE['user'], 60, -77);
$results = $modx->query("SELECT * FROM diol8wz_my_users_site WHERE id=$idUser");
while ($r = $results->fetch(PDO::FETCH_ASSOC)) {
if ($r['id'] === $idUser) echo ucwords($r['name']);
}
Разберусь как правильно создать таблицу и записывать в нее ( править )
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.