Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将列表中的变量放置在sql字符串中_Php_Mysql - Fatal编程技术网

Php 将列表中的变量放置在sql字符串中

Php 将列表中的变量放置在sql字符串中,php,mysql,Php,Mysql,我创建了一个名为myauthors的mySQL数据库,在myauthors中我创建了一个名为table 1的表。然后我创建了4个选择框(请参见代码)。之后,我创建了一些代码和一个带有while循环的sql查询,以填充输出(打印或回显)。它运行良好,并将表的内容打印到屏幕上。但这正是我要做的。当用户单击“选择”框中的某个值时,我希望将其放置在变量中,然后将其放置在sql查询行中。我尝试将其添加到下面的代码中 $aa = "author" $bb = "publisher"

我创建了一个名为myauthors的mySQL数据库,在myauthors中我创建了一个名为table 1的表。然后我创建了4个选择框(请参见代码)。之后,我创建了一些代码和一个带有while循环的sql查询,以填充输出(打印或回显)。它运行良好,并将表的内容打印到屏幕上。但这正是我要做的。当用户单击“选择”框中的某个值时,我希望将其放置在变量中,然后将其放置在sql查询行中。我尝试将其添加到下面的代码中

    $aa = "author" 
    $bb = "publisher"
    $cc = "year"
    $dd = "genre"
其中,“”中的所有内容都是选择框的名称。 这是一个查询

'"$aa"' AND publisher= '"$bb"' AND year = '"$cc"' AND genre ='"$dd"' " "; 
但它不起作用。 我是不是找错人了,有没有别的办法。 非常感谢吉姆

  <!DOCTYPE HTML>
  <html>
  <body>


  <select name = "author"> 
  <option value="kendavies">ken davies</option>
  <option value="arthursmith">arthur smith</option>
  <option value="gillrafferty">gill rafferty</option>
  <option value="mollybrown">molly brown</option>
  <option value="gilbert riley">gilbert riley</option>
  <option value="colinwilson">colin wilson</option>
  <option value="jamesgreen">james green</option>
   <option value="arnoldlaing">arnold laing</option>
  <option value="cathyellis">cathy ellis</option>
  <option value="carolreed">carol reed</option>    

  </select>

 <select name = "publisher"> 
 <option value="yonkers">yonkers</option>
  <option value="blueparrot">blue parrot</option>
  <option value="zoot">zoot</option>   

  </select>
    <select name = "year"> 
  <option value="2003">2003</option>
  <option value="2004">2004</option>
  <option value="2005">2005</option>
  <option value="2006">2006</option>
  <option value="2007">2007</option>
  <option value="2008">2008</option>

  </select>

   <select name = "genre"> 
   <option value="adventure">adventure</option>
   <option value="thriller">thriller</option>
  <option value="crime">crime</option>
  <option value="biography">biography</option>
   <option value="romance">romance</option>     

  </select>

      </body>
 </html>       
<?php             
 mysql_connect ("localhost","root","") or die(mysql_error());
 mysql_select_db ("myauthors") or die(mysql_error());  
 $strSQL = "SELECT * FROM `table 1`"; 
 $rs = mysql_query($strSQL);    



while($row = mysql_fetch_array($rs) ) {  

print $row ['ID']."<br/>";             
print $row ['author']."<br/>";   
print $row ['booktitle']."<br/>";
print $row ['publisher']."<br/>";
print $row ['yearpublished']."<br/>";
 print $row ['genre']."<br/>";
print $row ['copiessold']."<br/>";

 }
   mysql_close();
    ?> 
  </body>  
  </html>       

肯·戴维斯
亚瑟·史密斯
吉尔·拉弗蒂
莫莉·布朗
吉尔伯特·赖利
科林·威尔逊
詹姆斯格林
阿诺德莱恩
凯西·埃利斯
卡罗尔·里德
扬克斯
蓝色鹦鹉
佐特
2003
2004
2005
2006
2007
2008
冒险
惊悚片
罪行
传记
浪漫
我已经在代码中添加了变量和新的sql行,但是它仍然不起作用,这就是代码现在的样子

 <!DOCTYPE HTML>
  <html>
  <body>


  <select name = "author"> 
  <option value="kendavies">ken davies</option>
   <option value="arthursmith">arthur smith</option>
  <option value="gillrafferty">gill rafferty</option>
  <option value="mollybrown">molly brown</option>
  <option value="gilbert riley">gilbert riley</option>
   <option value="colinwilson">colin wilson</option>
    <option value="jamesgreen">james green</option>
   <option value="arnoldlaing">arnold laing</option>
  <option value="cathyellis">cathy ellis</option>
   <option value="carolreed">carol reed</option>    

  </select>

  <select name = "publisher"> 
  <option value="yonkers">yonkers</option>
   <option value="blueparrot">blue parrot</option>
  <option value="zoot">zoot</option>   

  </select>
    <select name = "year"> 
  <option value="2003">2003</option>
   <option value="2004">2004</option>
  <option value="2005">2005</option>
  <option value="2006">2006</option>
  <option value="2007">2007</option>
  <option value="2008">2008</option>

  </select>

   <select name = "genre"> 
  <option value="adventure">adventure</option>
   <option value="thriller">thriller</option>
  <option value="crime">crime</option>
  <option value="biography">biography</option>
  <option value="romance">romance</option>     

  </select>
  $aa = "author" 
  $bb = "publisher"
  $cc = "year"
  $dd = "genre" 
      </body>  
</html>       
<?php    

  $aa = "author"; 
  $bb = "publisher";
  $cc = "year";
  $dd = "genre";     
 mysql_connect ("localhost","root","") or die(mysql_error());
 mysql_select_db ("myauthors") or die(mysql_error());  
  $strSQL = "SELECT * FROM `table 1`WHERE author = '$aa' AND publisher = '$bb'       AND  year = '$cc' AND genre ='$dd'  ";  
  $rs = mysql_query($strSQL);    



  while($row = mysql_fetch_array($rs) ) {  

 print $row ['ID']."<br/>";             
 print $row ['author']."<br/>";   
  print $row ['booktitle']."<br/>";
 print $row ['publisher']."<br/>";
 print $row ['yearpublished']."<br/>";
 print $row ['genre']."<br/>";
 print $row ['copiessold']."<br/>";


  }
 mysql_close();
 ?> 
 </body>  
 </html>       

肯·戴维斯
亚瑟·史密斯
吉尔·拉弗蒂
莫莉·布朗
吉尔伯特·赖利
科林·威尔逊
詹姆斯格林
阿诺德莱恩
凯西·埃利斯
卡罗尔·里德
扬克斯
蓝色鹦鹉
佐特
2003
2004
2005
2006
2007
2008
冒险
惊悚片
罪行
传记
浪漫
$aa=“作者”
$bb=“发布者”
$cc=“年”
$dd=“流派”
试试这个

"'$aa' AND publisher= '$bb' AND year = '$cc' AND genre = '$dd'"; 

带点的Concat

'".$aa."' AND publisher= '".$bb."' AND year = '".$cc."' AND genre ='".$dd."' "; 

我不明白你的问题,你想做插入查询吗?我怀疑问题是双引号。你试过:
'$aa'和publisher='$bb'和year='$cc'和genre='$dd'
?你好,戈登,谢谢你的回复。我试过了,但没有用。我想知道我是否必须把$variable=选项值这样的东西放在“name”中。类似于你在vb.net中找到的。而不仅仅是列表框(选择框)的名称。你好,萨加尔,谢谢你的回复。它不起作用,我在想也许我必须特别提到数组中的元素。例如$var=options(选项在列表中)之类的东西,我将不插入:)根据你所描述的,这个答案应该有效。请记住,整个语句将用双引号引起来,如“updatetablesetauthor='$aa',publisher='$pp',year='$cc',genre='$dd'WHERE condition”。如果这不是你想要做的,请提供更多细节。嗨,帕拉非常感谢你的回复,我复制并粘贴了你的代码行,它得出了这个结论..解析错误:语法错误,意外'“'在C:\xampp\htdocs\moon\newmoon2.php第59行…我一直在摆弄逗号和其他东西,但想知道是否有用。我在想问题是否出在原始变量及其存储方式上。我猜语句中有额外的
。请选中“立即编辑”和“粘贴”。