@sunnyrio

Программа не подключается к базе данных, почему?

Переписал код программы из книги O'reilly, при запуске браузер выдает следующее: "Сбой при доступе к базе данных: No database selected"

Сам код:

<?php // smartytest.php
$path = $_SERVER['DOCUMENT_ROOT'];
require "$path/Smarty/Smarty.class.php";

$smarty = new Smarty();
$smarty->template_dir = "$path/temp/smarty/templates";
$smarty->compile_dir = "$path/temp/smarty/templates_c";
$smarty->cache_dir = "$path/temp/smarty/cache";
$smarty->config_dir = "$path/temp/smarty/configs";

require_once("$path/temp/login.php");
$db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Невозможно подключиться к MySQL: " . mysql_error());

if (isset($_POST['delete']) && get_post('isbn') != "")
{

$isbn = get_post('isbn');
$query = "DELETE FROM classics WHERE isbn='$isbn'";

if (!mysql_query($query))
{
echo "Сбой при удалении данных: $query<br>" . mysql_error() . "<p>";
}
}
else
if (isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['category']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post('author');
$title = get_post('title');
$category = get_post('category');
$year = get_post('year');
$isbn = get_post('isbn');


{
$query = "INSERT INTO classics VALUES" . "('$author', '$title', '$category', '$year', '$isbn')";

if (!mysql_query($query))
{
echo "Сбой при вставке данных: $query<br>" . mysql_error() . "<p>";
}
}
}
$query = "SELECT * FROM classics";

$result = mysql_query($query);

if (!$result) die("Сбой при доступе к базе данных: " . mysql_error());
$rows = mysql_num_rows($result);

for ($j = 0 ; $j < $rows ; ++$j)
{
$results[] = mysql_fetch_array($result);
}

mysql_close($db_server);

$smarty->assign('results', $results);
$smarty->display("$path/temp/smartytest.tpl");

function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}

?>
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
@SergeyZelensky-Rostov
mysql_select_db('name database') и используйте mysqli или pdo
<?php // smartytest.php
$path = $_SERVER['DOCUMENT_ROOT'];
require "$path/Smarty/Smarty.class.php";

$smarty = new Smarty();
$smarty->template_dir = "$path/temp/smarty/templates";
$smarty->compile_dir = "$path/temp/smarty/templates_c";
$smarty->cache_dir = "$path/temp/smarty/cache";
$smarty->config_dir = "$path/temp/smarty/configs";

require_once("$path/temp/login.php");
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
mysql_select_db('Имя вашей БД',$db_server)
if (!$db_server) die("Невозможно подключиться к MySQL: " . mysql_error());

if (isset($_POST['delete']) && get_post('isbn') != "")
{

$isbn = get_post('isbn');
$query = "DELETE FROM classics WHERE isbn='$isbn'";

if (!mysql_query($query))
{
echo "Сбой при удалении данных: $query<br>" . mysql_error() . "<p>";
}
}
else
if (isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['category']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post('author');
$title = get_post('title');
$category = get_post('category');
$year = get_post('year');
$isbn = get_post('isbn');


{
$query = "INSERT INTO classics VALUES" . "('$author', '$title', '$category', '$year', '$isbn')";

if (!mysql_query($query))
{
echo "Сбой при вставке данных: $query<br>" . mysql_error() . "<p>";
}
}
}
$query = "SELECT * FROM classics";

$result = mysql_query($query);

if (!$result) die("Сбой при доступе к базе данных: " . mysql_error());
$rows = mysql_num_rows($result);

for ($j = 0 ; $j < $rows ; ++$j)
{
$results[] = mysql_fetch_array($result);
}

mysql_close($db_server);

$smarty->assign('results', $results);
$smarty->display("$path/temp/smartytest.tpl");

function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}

?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽