php中的SQL查询无法正常工作

时间:2011-11-06 20:39:26

标签: php sql

我正在尝试在我的php文件中进行sql查询调用,这是我的代码:

<?php
$program = $_GET["program"];
$school = $_GET["school"]; 
$term = $_GET["term"];
$extension = $_GET["extension"];

$con = mysql_connect("127.0.0.1","root","");
if (!$con)
{
 die('Could not connect: ' . mysql_error());
}

mysql_select_db("csv_db", $con);
$sql = "SELECT * FROM tbl_name WHERE Dep1= '" . $program . "' AND Dep2= '" . $school . "' AND Dep3= '" . $term . "'";  
$result = mysql_query($sql)  or die(mysql_error());
echo $sql;

echo "<table id='booklist'><tr>
                         <th>Edit</th>
                         <th class='coursename'>Course Name</th>
                         <th class='startdate'>Start Date</th>
                         <th class='booktitle'>Book Title</th>
                         <th class='author'>Book Author</th>
                         <th class='isbn'>Book ISBN</th>
                     </tr>";
        while($row = mysql_fetch_array($result))
        { 
            echo    "<tr>
                        <td><input type='checkbox'></input></td>
                        <td class='coursename'>" . $row['Course Name'] . "</td>
                        <td class='startdate'>" . $row['Start Date'] . "</td>
                        <td class='booktitle'>" . $row['Book Title']. "</td>
                        <td class='author'>" . $row['Book Author']. "</td>
                        <td class='isbn'><input class='ISBN_number' type='text' value='' size='13' maxlength='13'></input></td> 
                  </tr>";                   
        }               
echo "</table>";

mysql_close($con);
?> 

这个sql应该填充一个html表,它将被发送回ajax调用。由于某种原因它不起作用。当我使用普通的“Select * from tbl_name”时,表格完美无缺。当我尝试添加一些参数时,它停止工作。现在显示的只是标题(但不是表格形式)。我做了一个调用的回声,并且正确地将参数导入到php中,我检查以确保列名是我写的。

2 个答案:

答案 0 :(得分:0)

那么也许你没有匹配的记录

答案 1 :(得分:0)

也许你的'参数内部会破坏查询。但你绝对需要至少一些逃避参数。更好地使用准备好的声明。有了这个代码,每个人都可以发送一些不错的东西,如:

program ='; DROP DATABASE;

一切都消失了: - )