【问题标题】:No results from mysql_querymysql_query 没有结果
【发布时间】: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 并使用PDOMySQLi。如果您不能决定,this article 将帮助您选择。如果你想学习,这里是good PDO tutorial
  • mysql_error() 告诉你什么?
  • 谢谢约翰,代码已经有几年的历史了,我正在对整体方案进行小修改。我不介意学习,但我从下周开始放假,所以我可能不会及时完成更改。'mysql_error()'告诉我:用户'cars'@'localhost'拒绝访问数据库'intranet '
  • 请将这些添加到表格末尾并告诉我们结果... var_dump($rs_result);echo mysql_error();
  • 哦,太好了,我们这里有弃用理论家。

标签: php mysql database forms


【解决方案1】:

你有 2 个 mysql 查询命令正在运行...

<?php
$sql       = mysql_query("SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC", $conn);  
$rs_result = mysql_query ($sql); // <-- $sql here is the result of the first query (ie. not a sql command)

应该是

<form name="form" method="post" action="review.php">
<table><td>
    <select>
    <option value="">--Select--</option>
<?php
    $sql = "SELECT * FROM car WHERE color='blue' ORDER BY sqm ASC";
    $rs_result = mysql_query( $sql, $conn );

    // 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>

祝你好运!

【讨论】:

  • 我有一些小的用户错误需要修复,但 Airyt 你绝对是正确的!谢谢你的回答!
猜你喜欢
  • 2011-02-24
  • 2014-06-29
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2013-12-08
  • 1970-01-01
  • 2016-07-30
相关资源
最近更新 更多