【发布时间】:2012-11-04 17:08:15
【问题描述】:
我正在编写一些使用两个 MySQL 数据库的 PHP。我正在努力的是从两个数据库中获取不同的信息,然后这些信息将填充一些表单字段,如下拉菜单。然后将发布该表格以创建可打印的文档 yada yada...
什么有效
与第一个数据库的连接工作正常,该字段已填充并且没有错误。
什么不起作用
当我引入第二个数据库时,我没有收到任何错误,但不会填充表单。我做了这个改变......
来自一个数据库:
$sql = mysql_query"SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC";
到两个数据库:
$sql = mysql_query("SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC", $conn);
连接
来源:http://rosstanner.co.uk/2012/01/php-tutorial-connect-multiple-databases-php-mysql/
How do you connect to multiple MySQL databases on a single webpage?
<?php
// connect to the database server
$conn = mysql_connect("localhost", "cars", "password");
// select the database to connect to
mysql_select_db("manufacturer", $conn);
// connect to the second database server
$conn2 = mysql_connect("localhost", "cars", "password");
// select the database to connect to
mysql_select_db("intranet", $conn2);
?>
处决
似乎 $sql = mysql_query("SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC", $conn);是我的问题
<form name="form" method="post" action="review.php">
<table><td>
<select>
<option value="">--Select--</option>
<?php $sql = mysql_query("SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC", $conn);
$rs_result = mysql_query ($sql);
// get the entry from the result
while ($row = mysql_fetch_assoc($rs_result)) {
// Print out the contents of each row into a table
echo "<option value=\"".$row['carname']."\">".$row['carname']."</option>";
}
?>
</select>
</td></table>
</form>
在此先感谢您的帮助:)
【问题讨论】:
-
请不要对新代码使用 mysql_* 函数。它们不再被维护,社区已经开始deprecation process。看到red box?相反,您应该了解prepared statements 并使用PDO 或MySQLi。如果您不能决定,this article 将帮助您选择。如果你想学习,这里是good PDO tutorial。
-
mysql_error()告诉你什么? -
谢谢约翰,代码已经有几年的历史了,我正在对整体方案进行小修改。我不介意学习,但我从下周开始放假,所以我可能不会及时完成更改。'mysql_error()'告诉我:用户'cars'@'localhost'拒绝访问数据库'intranet '
-
请将这些添加到表格末尾并告诉我们结果... var_dump($rs_result);echo mysql_error();
-
哦,太好了,我们这里有弃用理论家。