gpt4 book ai didi

php - 如何在PHP页面中诊断MySQL查询失败?

转载 作者:行者123 更新时间:2023-12-03 09:02:44 25 4
gpt4 key购买 nike

我正在尝试创建sitemap.xml文件并从数据库中获取所有品牌。我有以下代码:

<?php
header("Content-type: text/xml");
echo'<?xml version=\'1.0\' encoding=\'UTF-8\'?>';
echo'<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';

include 'includes/modules/connections/db.php'; //database connection
$brands = mysql_query("SELECT * FROM brands WHERE brand_status = 1"); //Select all brands
$row_brands = mysql_fetch_assoc($brands);

do { ?>
<url>
<?php
//Check when brand pages was last time updated
$brand_update = mysql_query("SELECT * FROM user_history WHERE brand_id = ".$row_brands['brand_id']." ORDER BY uh_date DESC");
$row_brand_update = mysql_fetch_assoc($brand_update)
?>
<loc>http://www.example.com/brand/<? echo $row_brands['brand_url']; ?>/</loc>
<lastmod><?php echo $row_brand_update['uh_date']; ?></lastmod>
<changefreq>daily</changefreq>
<priority>0.7</priority>
</url>
<?php } while ($row_brands = mysql_fetch_assoc($brands)); ?>
</urlset>

但是我得到以下错误。我尝试了许多更改,但总是会遇到不同的错误。有人在上面的代码中看到导致以下错误的问题吗?
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<br/>
<b>Warning</b>
: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
<b>
/hermes/bosoraweb060/b2763/ipg.example/sitemap-brands.php
</b>
on line
<b>8</b>
<br/>
<url>
<br/>
<b>Warning</b>
: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
<b>
/hermes/bosoraweb060/b2763/ipg.example/sitemap-brands.php
</b>
on line
<b>15</b>
<br/>
<loc>http://www.example.com/brand//</loc>
<lastmod/>
<changefreq>daily</changefreq>
<priority>0.7</priority>
</url>
<br/>
<b>Warning</b>
: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in
<b>
/hermes/bosoraweb060/b2763/ipg.example/sitemap-brands.php
</b>
on line
<b>22</b>
<br/>
</urlset>

非常感谢您的帮助!

最佳答案

切换到mysql_以外的地方!继续使用mysql和intertoobz wil wwn w3bs1te,srsly。话虽这么说,我会在您询问的情况下回答您的问题。

当您从中解开HTML时,您的第一条错误消息是这样说的:

Warning : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /hermes/bosoraweb060/b2763/ipg.example/sitemap-brands.php on line 8



您可以看一下代码的第8行,看到只有一个参数传递给该函数。该参数是由代码中的这一行产生的:
 $brands = mysql_query("SELECT * FROM brands WHERE brand_status = 1"); 

因此,您尝试从mysql_query取回的 $brands这个东西不好(它不是有效的MySQL结果资源)。

有什么事吗您的SELECT语句失败。

那可能是因为您的数据库不包含 brands表,或者因为它确实包含 brands表,但该表没有 brand_status列。

也可能是因为您需要在运行查询之前调用mysql_select_db(“database”)。看这个: http://www.php.net/manual/en/function.mysql-select-db.php

您可能应该在调用mysql_query()之后立即调整代码以包括以下几行。这将使您的程序向您显示来自MySQL本身(而不只是PHP)的错误消息,因此您可以确定SELECT出了什么问题。
if (0 != mysql_errno()) { 
echo mysql_errno() . ": " . mysql_error(). "<br/>\n";
exit ("MySQLfailure.<br/>\n");
}

您可以在每次查询后都输入此内容,并将其保留在生产代码中。

关于php - 如何在PHP页面中诊断MySQL查询失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12228786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com