2013-03-06 79 views
0

到mysqli的,这是我在mysqli的从MySQL很抱歉动过询问愚蠢的问题,但它的一个学习曲线后的第一次尝试:-S。混乱从MySQL移动与奇怪的错误消息

即时通讯目前使用下面的尝试和拉从数据库中的一些照片数据,但我得到一个错误,但我不能看到我的生命何以自处。

 <?php 
      $sql = <<<SQL 
     SELECT * 
     FROM `shop` 
    SQL; 

    if(!$result = $db->query($sql)){ 
     die('There was an error running the query [' . $db->error . ']'); 
    } 

    while($row = $result->fetch_assoc()){ 
     echo '<div class="simpleCart_shelfItem">'; 
    echo '<h2 class="item_name">'.$row[filename].'</h2>'; 
    echo '<p> <input type="text" value="1" class="item_Quantity"><br>'; 
    echo '<span class="item_price">&pound;'.$row[price].'</span><br>'; 
    echo '<a class="item_add" href="javascript:;"> Add to Cart </a></p>'; 
    echo '</div>'; 
    } 
      ?> 
    <span class="simpleCart_quantity"></span> items - <span class="simpleCart_total"></span> 
    <a href="javascript:;" class="simpleCart_checkout">Checkout</a> 

我正的错误是:

查询(SQL $)){死亡( '有运行查询错误); [' $ DB->错误。 ']' } while($ row = $ result-> fetch_assoc()){echo' '; echo' '。$ row [filename]。'

'; echo'

'; echo'£'。$ row [price]。' '; echo'加入购物车

';回声' '; }> 16项 - $ 243.95结帐

这比到mysql死错误意味着什么都没有给我吗?。

+0

但是你有什么错误?您向我们提供了部分代码,而不是错误。 – Hast 2013-03-06 11:59:24

+0

这不是一个mysqli错误消息;这只是你程序一半的副本。你确定你没有在代码中有一个流浪的问号......?也许是这样的....'$ db - ?> query'?这将触发PHP退回到HTML输出模式,而不是运行其余的代码。 – SDC 2013-03-06 12:00:07

+1

这听起来好像你的PHP代码根本没有运行,并且在'$ db->'中出现的第一个关闭'>'被解释为关闭一个未知的HTML标记。你正在运行一个Web服务器? – 2013-03-06 12:03:28

回答

3

是的,迈克尔是对的。
这不是错误的HEREDOC语法,因为我以前认为,但你的代码从未执行。

如果你看看页面源,你应该把它看作是一个开发者,你会看到你的整个脚本。

无论如何,这个问题与mysqli无关。

+0

对于这样的简短查询,这可能是很好的建议,但它不是问题的解决方案。 – SDC 2013-03-06 12:01:39

+0

我认为你的常识有一点,它看起来像OP的字符串没有终止 – periklis 2013-03-06 12:06:11

+0

@periklis它被称为[HEREDOC](http://www.php.net/manual/en/language.types.string.php #language.types.string.syntax.heredoc),以'<<< SQL'开始,并由'SQL'结尾;' – 2013-03-06 12:25:08