2011-09-15 54 views
0

我想展示我所有的襯衫,但我總是得到同樣的錯誤如何顯示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 * 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 
?> 
+0

首先切換到'PDO'。 – 2011-09-15 17:07:54

+0

你確定連接你的MySQL數據庫嗎? mysql_query()可以帶一個可選的參數來指定數據庫連接,否則它使用最後一次引用的連接。你能否驗證「connect2.php」內的連接是否正在工作? –

+0

你是什麼意思? – joe

回答

1

MySQL的代碼_ *()函數返回布爾值FALSE,如果他們失敗,這意味着您的查詢調用沒有成功。添加該代碼,找出原因:

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

之前使用'mysql_error()'函數檢查最後一個錯誤您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,在第1行'all ='1''附近使用正確的語法。 – joe

+0

'all'是一個保留字。你必須用反引號包圍它(') –

+0

我之所以全部都是因爲我不知道如何在我的表中顯示所有結果 – joe

0

下面是一些示例代碼:

<?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 
} 
?> 

而且here是詳細信息。請注意0​​中正在退出的php模式。