如何连接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);
答案 0 :(得分:4)
这是一个非常令人困惑的问题。 mysql_select_db("baybeestore",$connection);
与表名无关,因此您的错误必须来自其他地方。此外,错误是指表form
,但您说您已经创建了一个名为order
的表。
回答你的问题:
您没有连接到表格;您连接到数据库并对表运行查询。连接到my_database
或其他,然后运行SELECT * FROM my_table
等查询。
一个数据库,多个表 - 肯定不是多个数据库,这要复杂得多,产生大量开销,并且没有任何帮助。
答案 1 :(得分:2)
根据您的编辑/添加代码。 Your originally posted code
您使用两个不同的表进行查询。结果:错误
您共有SELECT * FROM order
和INSERT INTO form
两种不同的动物。
如果有的话,那应该是INSERT INTO order
或SELECT * FROM form
但是...... ORDER
是reserved word,并且应该用反引号括起来。
即:
INSERT INTO `order`
答案 2 :(得分:1)
也许你感到困惑。您应该连接到数据库,然后对该数据库中的一个或多个表运行查询。
因此,如果你有数据库My_Database
和表table1
,table2
就可以运行
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的更多信息