Php 如何显示SQL语句的所有结果?

Php 如何显示SQL语句的所有结果?,php,sql,Php,Sql,我想显示我所有的衬衫,但我总是得到相同的错误 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/36/d362778419/htdocs/home/specials.php on line 34 这是我目前掌握的代码 <?php require "connect2.php"; $sql = mysql_query("SELECT * FRO

我想显示我所有的衬衫,但我总是得到相同的错误

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/36/d362778419/htdocs/home/specials.php on line 34
这是我目前掌握的代码

<?php
require "connect2.php";

$sql = mysql_query("SELECT * FROM shirts WHERE all='1'");
$runrows = mysql_fetch_array($sql); 
$title = $runrows['title'];

$picture = $runrows['picture'];

$newp = $runrows['newp'];

$date = strftime("%b %d, %Y %l:%M %p" ,strtotime($runrows['date']));

$oldp=$runrows['oldp'];

$viewl=$runrows['viewl'];

$shirtl = $runrows['shirtl'];
echo "";
?>

<div class="specialsListBoxContents centeredContent back" style="width:25%;"><div class="product-col" >             <div class="img">           

        <a href="detail.php?id=<?php echo $id; ?>"><img src="<?php echo $picture; ?>" alt="<?php echo $title; ?>" title=" <?php echo $title; ?> " width="190" 

height="160" /></a>             </div>              <div class="prod-info">                 <div class="wrapper">       

                <div class="price">                         <strong><span class="normalprice"><?php echo $oldp; ?

></span><br /><span class="productSpecialPrice"><?php echo $newp; ?></span></strong>                        </div>                  

    <div class="button"><a href="detail.php?id=<?php echo $id; ?>"><img src="images/button_add_to_cart.gif" alt="Add to Cart" title=" Add to Cart " width="54" 

height="49" /></a></div>                    </div>              </div>          </div></div>

<?php
?>
mysql_*()函数如果失败,将返回布尔值FALSE,这意味着您的查询调用没有成功。添加此代码以查找原因:

$sql = mysql_query("SELECT * FROM shirts WHERE all='1'");
if ($sql === FALSE) {
    die(mysql_error());
}

下面是一些示例代码:

<?php

$sql = mysql_query("SELECT * FROM shirts WHERE `all`='1'");

if (!$sql ) {
    echo "Could not successfully run query from DB: " . mysql_error();
    exit;
}

if (mysql_num_rows($sql) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
while ($row = mysql_fetch_assoc($sql)) 
{
?>
    <a href="detail.php?id=<?php echo $row['id']; ?>"><img src="<?php echo $row['picture']; ?>" alt="<?php echo echo $row['title']; ?>" title=" <?php echo $row['title']; ?> " width="190" height="160" />
<?php
}
?>

您的MySQL数据库是否连接正常?mysql_query()可以使用可选参数来指定DB连接,否则将使用最后引用的连接。您能验证“connect2.php”中的连接是否正常工作吗?@sam yes该连接正常工作,因为我的另一个文档与connect2.phpals完美工作,所以您可以在调用
mysql\u error()
函数之前使用
mysql\u fetch\u array()
call检查最后一个错误您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第1行“all
all
是保留字附近使用的正确语法。你必须用倒勾(`)来包围它,我之所以拥有所有结果,唯一的原因是我不知道如何在我的表SQL中显示所有结果,这是一种“放得越少,得到的越多”的语言。如果需要所有记录,只需说
SELECT*fromshirts
<代码>其中专门用于将结果集限制为仅满足指定条件的行。