if(isset($ _ GET ['Submit']))...帮助

时间:2011-03-03 20:49:34

标签: php sql get

好的,我。 我有一个提交时需要值的查询..这里是

<?php
$conn = mysql_connect("localhost","root","");

mysql_select_db('irm',$conn);

if(isset($_GET['Submit'])){
$customer_date = $_GET['customer_date'];
}
?>
<?php

$tryshow =" SELECT c.customer_date, c.lastname, c.firstname,
   s.room_number, s.date_in, s.date_out
FROM customers c
    INNER JOIN services s
        ON c.customer_date = s.date_in
 WHERE c.customer_date = '$customer_date'";

$result = @mysql_query($tryshow,$conn)
            or die(mysql_error());

if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print...";
}
while($row=mysql_fetch_assoc($result)){ 
?>

我认为我的问题是,即使我提交了一个$ customer_date doenst保留任何值的日期,从而导致我发现没有行回显......

需要你的一些建议,并提前感谢希望你能尽快帮助我 -renz

3 个答案:

答案 0 :(得分:0)

我认为你的报价是错的,你的查询是发送$ customer_date而不是变量里面的值试试这个:

$tryshow =' SELECT c.customer_date, c.lastname, c.firstname,
   s.room_number, s.date_in, s.date_out
FROM customers c
    INNER JOIN services s
        ON c.customer_date = s.date_in
 WHERE c.customer_date = "'.$customer_date.'"';

答案 1 :(得分:0)

请了解mysql中的引用/转义值,因为目前您的代码需要进行SQL注入。

答案 2 :(得分:0)

与您的问题无关,但您的代码对SQL注入非常开放。您正在使用未以任何方式清理的用户输入来构建查询。至少,你应该使用mysql_real_escape_string。我可以通过最小的努力,枚举有关您的数据库的足够信息,将“DROP DATABASE YOUR DB”语句粘贴到查询字符串中,从而删除所有数据。