Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何按id从两个表中选择数据_Sql_Xml_Export - Fatal编程技术网

Sql 如何按id从两个表中选择数据

Sql 如何按id从两个表中选择数据,sql,xml,export,Sql,Xml,Export,我有一个从表中获取数据并导出到xml的脚本,但我需要从两个不同的表中获取数据 Table 1: Products i have inside: id code Table 2: Stock i have inside id qty 我的剧本是: <?php $db_host = "localhost"; $db_name = "test"; $db_username = "root"; $db_password = ""; $dbh

我有一个从表中获取数据并导出到xml的脚本,但我需要从两个不同的表中获取数据

Table 1: Products

i have inside:

id code

Table 2: Stock

i have inside

id qty
我的剧本是:

<?php
    $db_host = "localhost";

    $db_name = "test";
    $db_username = "root";
    $db_password = "";

    $dbh = mysql_connect($db_host, $db_username, $db_password) or die("Unable to connect to MySQL");
    mysql_query('SET NAMES "utf8"');
    mysql_select_db($db_name, $dbh) or die("Could not select $db_name");

    $sql = "select * from products ";

    $q = mysql_query($sql);
    $custom = '"';

    $xml = "\n";
    $xml .= "<XML>\n";
    while($r = mysql_fetch_assoc($q))
    {

        $xml .= "   <PRODUCT code=$custom " . $r["code"] . "$cusmot qty=$custom " . $r["qty"] . "$custom />\n";

    }
    $xml .= "</XML>";

    header("Content-type: text/xml");
    echo $xml;
?>

需要帮助根据Products表上的id从库存结果中获取数量


欢迎提供任何帮助。

您应该使用此查询,而不是代码中的查询:

SELECT p.id, p.code, s.qty
FROM product p, stock s
WHERE p.id = s.id

尝试更改SQL以从两个表中提取数据:
从产品p、库存s中选择p.code、s.qty,其中p.id=s.id
。有了这个改变,您的PHP看起来几乎(或完全)可以工作了

结果是:警告:mysql\u fetch\u assoc()希望参数1是resource,boolean表示欢迎。你能告诉我我建议的查询怎么不起作用吗?您的脚本正常工作了吗?警告:mysql_fetch_assoc()期望参数1是资源,布尔值给定inNo问题。你说的“不工作”是什么意思?根据您提供的信息,SQL是正确的。如果你自己解决了这个问题,你应该发布答案并接受它。您好,不,我没有解决这个问题,可能是正确的,但我得到了这个错误:警告:mysql\u fetch\u assoc()希望参数1是资源,布尔值在
SELECT p.id, p.code, s.qty
FROM products p
INNER JOIN stock s ON p.id = s.id