各位大侠,帮我看下面的$name变量,为什么把它放到查询语句中
$query='select * from books.book where book_id=$_POST["name"];   ';
得不到变量,如果只是显示的话,又没问题。???1.
  <font size="7">图书管理</font>
<form action="dekita.php" method="post">
 <p>请输入查询内容: <input type="text" name="name" VALUE=""/></p>
  <p><input type="submit" value="开始查询" /></p>
</form>2.$link = mysql_connect('localhost','root','')    or die('could not connect:' . mysql_error());
echo 'conected successfully';
mysql_select_db('mysql') or die('Could not select database');
$query='select * from books.book where book_id=$_POST["name"];   ';$result= mysql_query($query) or die('Query failed:' . mysql_error()) ;//用HTML显示结果
echo "<table>\n";
while ($line =mysql_fetch_array($result,MYSQL_ASSOC)){
    echo "\t<tr>\n";
    foreach($line as $col_value){
        echo"\t\t<td>$col_value</td>\n";
        }
        echo "\t</tr>\n";
        }
echo "</table>\n";//释放数据集
mysql_free_result($result);//关闭连接
mysql_close($link);
?>

解决方案 »

  1.   

    $query='select * from books.book where book_id=$_POST["name"];   ';
    ->
    $query="select * from books.book where book_id=".$_POST["name"];
    try//另外books.book这个是你的表名吗,好奇怪的表啊
    O.o
      

  2.   

    在外的单引号里的'$变量'会当成字符串的,应该如下写:
    ------------------------------------------------------
    $query="select * from books.book where book_id=$_POST['name']";或----------------------------------------------------
    $query='select * from books.book where book_id='. $_POST["name"];   
      

  3.   

    Query failed:Unknown column 'AI01003' in 'where clause' 
    返回这个信息,变量'AI01003'是有出来了,可是查不到。。
      

  4.   

    $query="select * from books.book where book_id=$_POST['name']";
      

  5.   

    或者说php.ini里头什么地方没设置好???
      

  6.   

    AI01003
    =============
    book_id得到的值明明是字符類型啊,sql查詢要用單引號
      

  7.   

    显示的结果:
    第一行单单显示变量没问题AI01003AI01003 conected successfully讲习会教材 
    创世纪的恩典 
    创世纪的故事 
    漫画福音 
    宗教教育学 
    Query failed:Unknown column 'AI01003' in 'where clause'$query='select * from books.book where book_id='.$_POST['name'];时,,出错了,信息如上??
      

  8.   

    $query="select * from books.book where book_id='".$_POST["name"]."'";
    echo $query;
    先輸出sql看看整句是什麼樣的先
      

  9.   

    book_id='".$_POST["name"]."'";
    ===========
    不是說過字符類型要用單引號或(\")引起來了嗎,數字類型才不用單引號,是這樣規定的你沒照做。
      

  10.   

    1.单引号里面的$vars不被运算
    2.sql中date,char类要用''
    3.$query="select * from books.book where book_id='".$_POST["name"]."'";
      或
      $query="select * from books.book where book_id='$_POST[name]'";
      或
      $query=‘select * from books.book where book_id=\'’.$_POST["name"].'\'';
    ============
    个人不喜欢双引号