Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Mysql запрос….

00 голосов
10
Господа есть такой вопрос:

Есть база данных “Data” (имеется ввиду база не битрикса) у которой есть таблица “q”
У этой таблицы есть поля: ID, name

Я так понял у битрикса есть свои синтаксис запросов? Покажите пример если не трудно как сделать запрос к базе и вытащить значение name если допустим ID = 1.

Или может кто статейку подкинет?
спросил 09 Март, 13 от Sitha (240 баллов)

10 Ответы

00 голосов
Цитата
Микаэл Караманянц пишет:
Господа есть такой вопрос:
Есть база данных “Data” (имеется ввиду база не битрикса) у которой есть таблица “q”
У этой таблицы есть поля: ID, name
Я так понял у битрикса есть свои синтаксис запросов? Покажите пример если не трудно как сделать запрос к базе и вытащить значение name если допустим ID = 1.
Или может кто статейку подкинет?



из help
Цитата
CDatabase - класс для работы с базой данной.

При запуске каждой страницы автоматически создается глобальный объект $DB класса CDatabase. Именно при помощи этого объекта и следует проводить все действия с базой данных.




Цитата
Методы класса
Метод Описание
ForSql Преобразует строки для вставки в SQL запрос.
Query Выполняет запрос.
QueryBind Выполняет SQL-запросы типа "UPDATE", "INSERT", в которых есть необходимость связывания переменных (как правило для полей типа BLOB, CLOB, LONG и т.п.).
QueryBindSelect Выполняет SQL-запрос типа "SELECT", в котором есть необходимость связывания переменных.
Update Универсальный update в базу данных (без подготовки значений полей).
NextID Возвращает очередное значения сиквенса.
Insert Универсальный insert в базу данных (без подготовки значений полей).
LastID Получает ID последней вставленной записи.
PrepareFields Инициализирует глобальные переменные для вставки в SQL запрос.
PrepareInsert Универсальный insert в базу данных (c подготовкой значений полей).
PrepareUpdate Универсальный update в базу данных (c подготовкой значений полей).
InitTableVarsForEdit Инициализирует глобальные переменные для показа.
ParseSqlBatch Разбирает пакет запросов на массив.
RunSqlBatch Выполняет файл с пакетом запросов.
StartTransaction Открывает транзакцию.
Commit Записывает транзакцию.
Rollback Откатывает транзакцию.
Connect Соединяет с базой данных.
Disconnect Закрывает соединение с базой данных.
ответил 09 Март, 13 от Lekar (2,220 баллов)
00 голосов
Цитата
<?

$DBHost = 'localhost2222';
$DBName = 'mike';
$DBLogin = 'mike';
$DBPassword = 'xxxxx';
?>


<?

if(!($DB->Connect($DBHost, $DBName, $DBLogin, $DBPassword)))
{
if(file_exists($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/php_interface/dbconn_error.php"))
{
include($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/php_interface/dbconn_error.php");
}
else
{
include($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/dbconn_error.php");
}
die();
}
?>

Засунул параметры базы логина и пароля от балды и никаких сообщениях об ошибке как это понимать. Значит вообще не работает. Повторяю быть может это важно база к которой я подсоединяюсь сторонняя но тоже на локалхосте сидит.
ответил 17 Март, 13 от Sitha (240 баллов)
00 голосов
Если база не Битрикса, то попробуйте использовать обычный доступ к базе для получения данных.
Код
<?php
# подключаемся к серверу и выбираем базу
mysql_connect("localhost","mike","xxxxx");
mysql_select_db("Data");

# готовим и выполняем запрос к БД
$query = "SELECT q.* FROM q WHERE q.ID = "1";
$result = mysql_query($query) 
or die(mysql_error()); 

# выводим результаты выполнения запроса
while($i = mysql_fetch_row($result)) { 
   echo "<pre>";
   print_r($i);
   echo "</pre>";
}
?>

Ну а статейки посмотрите на тему "как получить данные из mysql базы на php". Такие статейки вроде раньше валялись где угодно, просто поисковик напрягите....
ответил 22 Апр, 13 от sickmind (4,660 баллов)
00 голосов
Цитата
Александр Черкасов пишет:
Если база не Битрикса, то попробуйте использовать обычный доступ к базе для получения данных.




Код

<?php
# подключаемся к серверу и выбираем базу
mysql_connect("localhost","mike","xxxxx");
mysql_select_db("Data");

# готовим и выполняем запрос к БД
$query = "SELECT q.* FROM q WHERE q.ID = "1";
$result = mysql_query($query)
or die(mysql_error());

# выводим результаты выполнения запроса
while($i = mysql_fetch_row($result)) {
   echo "<pre>";
   print_r($i);
   echo "</pre>";
}
?>
Ну а статейки посмотрите на тему "как получить данные из mysql базы на php". Такие статейки вроде раньше валялись где угодно, просто поисковик напрягите....


Да это понятно … я уже пробовал, но если так то просто белый экран.
ответил 17 Авг, 13 от Sitha (240 баллов)
00 голосов
Крамольная мысль: быть может код не выполнятется?
ответил 16 Ноя, 13 от Veshh (100 баллов)
00 голосов
белый экран это плохо.. это настройки сервера - связка apache+mysql+php
ответил 25 Фев, 14 от GUCCI (440 баллов)
00 голосов
Всем привет!

Я не могу найти мануал по работе с БД.

Вообщем дела обстоят так.

1. есть БД на локалхосте но в отдельно от базы сайта.
2. как конектится к БД и сделать скажем выборку из таблицы.
3. как это потом реализовать что бы было видно на сайте.

Перелопатил вес Инет ничего не нашел. smile:(
Синтаксис Битрикса по работе с БД остается для меня загадкой.

Прошу помогите или скиньте мануал ориентированный на работу с БД.
ответил 17 Июнь, 14 от Sairy (100 баллов)
00 голосов
Битрикс, к превеликому сожалению, работает только с одной базой данных, на которой стоят его таблицы.
Поэтому делайте по-старинке, используя функции php-расширения mysql. Другой вариант - портировать все таблицы из "той" базы в битриксовую, тогда сможете использовать $DB->Query.
ответил 16 Окт, 14 от Eddie (2,060 баллов)
00 голосов
Спасибо, я так и сделал.

Проблема решена. Разобрался сам. smile:)
ответил 16 Фев, 15 от Sairy (100 баллов)
00 голосов
Я создал файл .php
у меня ряд вопросов. как подключить класс CDatabase?
не знаю в каком файле он лежит?
ответил 27 Май, 15 от Sairy (100 баллов)

Похожие вопросы

0 голосов
0 ответов
0 голосов
2 ответов
спросил 28 Апр, 14 от Kania (5,180 баллов)
0 голосов
4 ответов
спросил 06 Фев, 14 от Kiriel (2,010 баллов)
0 голосов
5 ответов
спросил 02 Сен, 13 от AngryKid (420 баллов)