一个MySQL数据库&;多个表


One MySQL Database & Multiple Table

如何连接MySQL数据库中的某个表?

我试过:

mysql_select_db("baybeestore",$connection)

但它给了我一个错误:-

"错误:表'baybeestore.form'不存在"

但是我创建了一个名为order的表。在具有多个数据库的同一数据库中,是否有任何PHP代码可以连接到我的表order

创建多个数据库是否足够明智;一个网站一张桌子还是多表一数据库?

完整代码:

$connection=mysql_connect("localhost"、"user"、"1234");if(!$connection){die('连接MySQL失败:'.MySQL_error());}mysql_select_db("baybeestore",$connection)$sql="插入表格(姓名、地址、电子邮件、手机、物品、付款)值('$strname'、'$stradress'、'$stremail'、'$Strhandhone'、'[strtem'、'%strpayment')";if(!mysql_query($sql,$connection)){die('错误:'.mysql_Error());}echo"数据已保存。";mysql_close($connection)

根据您编辑/添加的代码您最初发布的代码

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

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

如果有什么不同的话,那应该是INSERT INTO orderSELECT * FROM form。。。ORDER是一个保留字,应该用反引号括起来。

即:

INSERT INTO `order`
  • http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

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

回答您的问题:

  1. 您不连接到表;您可以连接到数据库并对表运行查询。连接到my_database或其他什么,然后运行类似SELECT * FROM my_table的查询。

  2. 一个数据库,多个表——肯定而不是多个数据库,这要复杂得多,会产生大量开销,而且毫无帮助。

也许你混淆了事情。您应该连接到一个数据库,然后对该数据库中的一个或多个表运行查询。

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

mysqli_select_db($connection, "My_Database");

然后运行类似的查询

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

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

既然您正在学习,我建议您以正确的方式开始学习。不要使用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的信息