2016-04-19 3 views
0

Я пытаюсь подключить свой сайт к базе данных, но я получаю ошибку «Нет базы данных», я попытался найти решение, но я ничего не нашел. Мой код:Ошибка в базе данных mysql php

<?php 

    define('DB_NAME', 'test'); 
    define('DB_UESR', '********'); 
    define('DB_PASSWORD', '********'); 
    define('DB_HOST', '********'); 

    $link = mysql_connect(DB_HOST, DB_UESR, DB_PASSWORD); 

    if (!$link) { 
     die('could not connect: ' . mysql_error()); 
    } 

    $db_selected = mysql_select_db(DB_NAME, $link); 

    if (!db_selected) { 
     die('can\'t use name' . DB_NAME . ' : ' . mysql_error()); 
    } 

    echo 'connected successfully '; 

    $value = $_POST['naam']; 

    $sql = "INSERT INTO naam (test) VALUES ('$value')"; 

    if (!mysql_query($sql)) { 
     die('error: ' . mysql_error()); 
    } 

    echo 'uploaded successfully '; 

    ?> 

точный массаж Тад отображается на странице:

connected successfully error: No database selected 

я надеюсь, что кто-то может мне помочь, я новичок в этом веб-сайте.

+0

использование + имя вашей БД не сработало? –

+2

[останавливать использование MySQL как есть *** DEPRECATED *** и перейти к MySQLi] (http://stackoverflow.com/questions/1390607/how-could-i-change-this-mysql-to-mysqli) , * Или * PDO. [Что такое устаревшее значение?] (Https://en.wikipedia.org/wiki/Deprecation) – Martin

+0

Это не «правильный» способ исправить, но вы можете изменить $ sql = «INSERT INTO naam (test) VALUES ('$ значение') "; to $ sql = "INSERT INTO dbname.naam (test) VALUES ('$ value')"; – user2278120

ответ

2

Сначала вам нужно изменить if (!db_selected) на номер if (!$db_selected), чтобы узнать, действительно ли вы успешно выбрали.

Кроме того, вы можете проверить mysql_error() после выбора базы данных. Возможно, у вас недостаточно привилегий для выбора этой базы данных.

Впоследствии, пожалуйста, проверьте проблемы с инъекциями sql, которые у вас есть, как указано в комментариях.

+0

ok, я исправил исходную проблему, но hi столкнулся с другой проблемой: таблица «a1466880_databas.test» не существует. что это значит? –

+0

@LucavanStraaten Вы не показываете свой (настоящий) код, поэтому я не вижу, где вы ошибаетесь. Запрос, который вы указали выше 'INSERT INTO naam (test) VALUES ('$ value')', указывает, что у вас есть таблица с именем naam', и согласно вашему выбору имя базы данных 'test'. Но ошибка, которую вы показываете мне сейчас, указывает, что вы пытаетесь сделать что-то с таблицей, называемой 'test', в базе данных, называемой' a1466880_databas'. –