一个MySQL数据库&多表

时间:2013-12-13 16:04:40

标签: php mysql database

如何连接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);

4 个答案:

答案 0 :(得分:4)

这是一个非常令人困惑的问题。 mysql_select_db("baybeestore",$connection);与表名无关,因此您的错误必须来自其他地方。此外,错误是指表form,但您说您已经创建了一个名为order的表。

回答你的问题:

  1. 您没有连接到表格;您连接到数据库并对表运行查询。连接到my_database或其他,然后运行SELECT * FROM my_table等查询。

  2. 一个数据库,多个表 - 肯定不是多个数据库,这要复杂得多,产生大量开销,并且没有任何帮助。

答案 1 :(得分:2)

根据您的编辑/添加代码。 Your originally posted code

您使用两个不同的表进行查询。结果:错误

您共有SELECT * FROM orderINSERT INTO form两种不同的动物。

如果有的话,那应该是INSERT INTO orderSELECT * FROM form但是...... ORDERreserved word,并且应该用反引号括起来。

即:

INSERT INTO `order`

答案 2 :(得分:1)

也许你感到困惑。您应该连接到数据库,然后对该数据库中的一个或多个表运行查询。

因此,如果你有数据库My_Database和表table1table2就可以运行

mysqli_select_db($connection, "My_Database");

然后运行

之类的查询
$result = mysqli_query("SELECT * FROM table1 WHERE 1 LIMIT 1");

请注意我已将函数名称更改为mysqli_*,因为mysql_*函数已弃用且不应再使用

答案 3 :(得分: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();
}

您可以通过this link

了解有关PDO的更多信息