2016-04-24 59 views
0

所以这是我的代码:如何把PHP变量在SQL查询

<nav class="navbar navbar-inverse"> 
    <div class="container-fluid"> 
     <div class="navbar-header"> 
      <a class="navbar-brand" href="#">WebSiteName</a> 
     </div> 

     <ul class="nav navbar-nav"> 
      <li class="active"><a href="#">Home</a></li> 

      <?php 
       $dbconn= new PDO('sqlite:negozio.db'); 


      $sqlcate = "SELECT * FROM categoria"; 
      foreach($dbconn->query($sqlcate) as $row) { ?> 
      <li class="dropdown"> 
      <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo $row['des_categoria']; ?> <span class="caret"></span></a> 

      <ul class="dropdown-menu"> 
       <?php 
       $sqltipocate = "SELECT tipo.des_tipo FROM tipo, categoria, tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo AND tipo_cate.id_categoria = " . $row['id_categoria'] . " "" "; 

       foreach($dbconn->query($sqltipocate) as $row1) { ?> 

       <li><a href="#"><?php echo $row1['des_tipo']; ?></a></li> 
      <?php } ?> 
      </ul> 
     </li> 
     <?php } ?> 

     </ul> 
    </div> 
</nav> 

一切工作正常,直到$sqltipocate布拉布拉......

此错误总是出现:

语法错误,意外T_CONSTANT_ENCAPSED_STRING

有人可以帮我?

+0

@Anant你为什么不加入这个作为一个答案? – webeno

+0

@安南,但其他人可能会看到它,它可以帮助他们,所以他们可以upvote,你会得到更多的声誉,或者我认为这不再是10K代表的动机很多? – webeno

+0

@安娜,很明显,这就是我所做的(没有意识到它已经在那里作为你的评论),而且我什么都得不到,但我得到了它,所以我删除了它......好吧,让我继续... – webeno

回答

0

这是以前答案中所考虑的级联问题。我可以添加一些东西可能会让你的生活更轻松这是sprintf

您的SQL查询字符串将是sprintfformat参数如下:

  $sqltipocate = sprintf("SELECT tipo.des_tipo FROM tipo, categoria, tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo AND tipo_cate.id_categoria = %d", $row['id_categoria']); 
0

使用大括号。

实施例:

$id = 1; 
$sql = "SELECT * FROM something WHERE id = {$id}"; 

echo $sql; 
//SELECT * FROM something WHERE id = 1 

链接到代码:http://codepad.org/V9QasGHH

0

商店中的$行[ 'id_categoria'〕中可变像

$ ID = $行[ 'id_categoria'];

然后把$ ID像查询:

$ sqltipocate =“SELECT tipo.des_tipo FROM TIPO,categoria,tipo_cate WHERE tipo_cate.id_cate = categoria.id_categoria AND tipo_cate.id_tipo = tipo.id_tipo和tipo_cate.id_categoria ='“。$ id。”'“;

看到这个tipo_cate.id_categoria = ' “的$ id”'