2013-12-13 4 views
1

Как подключиться к определенной таблице в базе данных MySQL?Одна база данных MySQL и несколько таблиц

Я пробовал:

mysql_select_db("baybeestore",$connection);

, но он дает мне ошибку: -

"Error : Table 'baybeestore.form' doesn't exist"

Но я создал таблицу с именем, как order. Существуют ли какие-либо коды PHP для подключения к моей таблице order в той же базе данных, что и несколько баз данных?

Можно ли создать несколько баз данных & одну таблицу на один сайт или несколько таблиц с одной базой данных?

ПОЛНЫЙ КОД:

$connection = mysql_connect("localhost","user","1234"); 
    if(!$connection) 
    { 
     die('Failed to connect to MySQL :' . mysql_error()); 
    } 
    mysql_select_db("baybeestore",$connection) 
    $sql = "INSERT INTO 
    form(name, address, email, handphone, item, payment) 

    VALUES 
    ('$strname', '$straddress', '$stremail', '$strhandphone', '$stritem', '$strpayment')"; 

    if(!mysql_query($sql, $connection)) 
    { 
     die('Error : ' . mysql_error()); 
    } 
    echo "Data have been saved."; 
    mysql_close($connection);
+2

Обычный способ одна база данных для каждого приложения (или домен приложения) с несколькими таблицами. –

+3

Не используйте mysql_ * используйте PDO или mysqli. Это устарело. –

+1

Вы должны взглянуть на эту серию youtube http://www.youtube.com/watch?v=BEbKji_pSZM. Надеюсь это поможет! :) –

ответ

1

согласно вашим редактировать/добавить код.Your originally posted code

Вы используете две разные таблицы для своих запросов. Результат: ОШИБКА

Вы SELECT * FROM order и INSERT INTO form 2 различных животных в целом.

Если что-нибудь, что должно быть INSERT INTO order или SELECT * FROM form еще ... ORDER является reserved word и должны быть заключен с обратными кавычками.

т.е .:

INSERT INTO `order` 
1

Может быть, вы запутанные вещи. Вы должны подключаться к базе данных, а затем запускать запросы по одной или нескольким таблицам в этой базе данных.

Так что если у вас есть база данных My_Database и таблицы table1, table2 можно запустить

mysqli_select_db($connection, "My_Database"); 

, а затем выполнять запросы, как

$result = mysqli_query("SELECT * FROM table1 WHERE 1 LIMIT 1"); 

Обратите внимание, что я изменил имена функций для mysqli_* потому mysql_* функции устарели и больше не должны использоваться

4

Это очень запутанный вопрос. mysql_select_db("baybeestore",$connection); не имеет ничего общего с именами таблиц, поэтому ваша ошибка должна появляться откуда-то еще. Кроме того, ошибка относится к таблице form, но вы говорите, что создали таблицу с именем order.

Чтобы ответить на ваши вопросы:

  1. Вы не подключаются к таблицам; вы подключаетесь к базам данных и запускаете запросы к таблицам. Подключитесь к my_database или что-то еще, а затем выполните запросы, такие как SELECT * FROM my_table.

  2. Одна база данных, несколько таблиц - определенно не несколько баз данных, что намного сложнее, генерирует тонну накладных расходов и никоим образом не помогает.

1

Теперь, когда вы учитесь, я рекомендую вам начать изучать правильный путь. Не используйте функции mysql_. Попробуйте изучить PDO. Кроме того, используйте одну базу данных для каждого приложения.

Для подключения вы можете попробовать:

try { 
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 

Вы можете узнать больше о PDO через this link

Смежные вопросы