Не могу получить данные из БД. Помогите.

Master812
На сайте с 23.12.2007
Offline
168
697

Не занимался php уже 2 года и конечно за это время кое-что подзабыл. Так вот, никак не могу получить данные из БД. Может sql-запрос неверный? Может что-то в скрипте я не так сделал? Не могу понять. Всё время пишет "НЕТ ДАННЫХ ИЗ БД".

             $sql = 'SELECT name FROM '.$db['db_table_cat'];

$connect = mysql_connect($db['db_server'], $db['db_user'], $db['db_pass']);
mysql_select_db($db['db_name'], $connect);
$result = mysql_query($sql, $connect);

if($result)
{
for( $i=0; $i<mysql_num_rows($result); $i++ )
{
$cat[$i] = mysql_fetch_array($result); // разложим полученные данные в массив
if ($cat[$i]['name']) // проверим есть ли категории
{
for ($t=0; $t<count($cat); $t++) // цикл меню из существующих категорий
{

$categories .= '<option value="';
$categories .= $cat[$t];
$categories .= '" selected="selected">';
$categories .= $cat[$t];
$categories .= '</option>';

print_r($categories);
}
}
}
}
else { echo "<h1>НЕТ ДАННЫХ ИЗ БД!</h1>"; }
raspberry pi сайт ( https://4raspberrypi.ru/ ) и orange pi сайт ( https://orangepi.su/ ) и новостной движок ( https://generalscript.ru/ )
vlad00777
На сайте с 24.12.2009
Offline
119
#1
$sql = 'SELECT name FROM '.$db***91;'db_table_cat'***93;;

селект название поля фром название таблицы потом уже все остальное. и лишнее ;

SELECT name FROM db_table_cat ... WHERE, LIMIT, и т.д смотря что надо.

И сначало коннект к базе, а потом уже выбирать!

И что за ; ? например тут: mysql_select_db($db***91;'db_name'***93;, $connect);

Почитайте учебник.

Верстка. Качественно! Адаптивная, резиновая, с параллаксом и прочими плюшками. В ЛС.
rbbumfirst
На сайте с 03.04.2009
Offline
87
#2

и все же посмотрите в сторону PDO ну или в крайнем случае MySQLi и жить станет веселее.

Web developer (http://rudov.com). разработка на Go, ReactJS, React Native
Master812
На сайте с 23.12.2007
Offline
168
#3

vlad00777, на этом форуме скрипт в естественном виде не прошёл, его переделали после обработки и подсветки. Вот реальный вариант. В нём вроде всё как вы сказали, но всёравно не пашет. В массиве $db хранятся все данные для коннекта.

$sql = 'SELECT name FROM '.$db['db_table_cat'];

$connect = mysql_connect($db['db_server'], $db['db_user'], $db['db_pass']);

mysql_select_db($db['db_name'], $connect);

$result = mysql_query($sql, $connect);

if($result)

{

for( $i=0; $i<mysql_num_rows($result); $i++ )

{

$cat[$i] = mysql_fetch_array($result); // разложим полученные данные в массив

if ($cat[$i]['name']) // проверим есть ли категории

{

for ($t=0; $t<count($cat); $t++) // цикл меню из существующих категорий

{

$categories .= '<option value="';

$categories .= $cat[$t];

$categories .= '" selected="selected">';

$categories .= $cat[$t];

$categories .= '</option>';

print_r($categories);

}

}

}

}

else { echo "<h1>НЕТ ДАННЫХ!</h1>"; }

}

siv1987
На сайте с 02.04.2009
Offline
427
#4

Master812,


$connect = mysql_connect($db['db_server'], $db['db_user'], $db['db_pass'])
or die( mysql_error($connect) );
mysql_select_db($db['db_name'], $connect)
or die( mysql_error($connect) );

$sql = 'SELECT name FROM '.$db['db_table_cat'];
$result = mysql_query($sql, $connect) or die( mysql_error($connect) );

echo "db_table_cat: {$db['db_table_cat']}<br />";
echo "mysql_num_rows: ".mysql_num_rows( $result )."<br />";
exit;
vlad00777
На сайте с 24.12.2009
Offline
119
#5

siv1987, совершенно верно. я же писал сначало коннект к базе потом уже работа с ней селект в данном случае.

Master812
На сайте с 23.12.2007
Offline
168
#6

vlad00777, siv1987, всёравно не работает!

siv1987
На сайте с 02.04.2009
Offline
427
#7
Master812:
vlad00777, siv1987, всёравно не работает!

И не должно. Результат покажите.

Master812
На сайте с 23.12.2007
Offline
168
#8

Всё, разобрался наконец-то, теперь работает! Оказывается проблема была в самом массиве $db.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий