-3
<?php 
    $sn=$_GET['sn'];
    $query="SELECT * FROM `banner_ad` WHERE `banner_no`='$sn'";
    if($query_run=mysql_query($query))
    {
        $num=mysql_num_rows($query_run);
        if($num == 1)
        {
            while($rows=mysql_fetch_array($query_run))
            {
                $banner_name=$rows['banner_name'];
                //$banner_site_url=$rows['Banner_website_url'];
                $banner_image_url=$rows['banner_image_url'];
            }
        } else {
            echo'<font color="red"> There is two entry for this same serial number.</font>';
            }

    } else {
        echo'<font color="red"> Query does not run.</font>';
        }
?>

このクエリを実行できない理由を誰か教えてもらえますか?

4

2 に答える 2

1

1) どのデータベースにも接続していないようです。

2)非推奨mysql_の関数を使用していて、SQL インジェクションにさらされている。新しいコードを書き、または関数を使用するために、すぐに使用を中止する必要があります。mysqli_PDO

mysql_error()3)考えられるエラーをキャッチするために追加する必要があります。おそらく次のようなものです:

...
} else {
    mysql_error();
    }

4) するのは悪い習慣SELECT *です。常に列リストを指定する必要があります。

于 2012-11-30T18:44:16.907 に答える
-1

SQL 単一引用符

$query="SELECT * FROM `banner_ad` WHERE `banner_no`='$sn'";

PHP 単一引用符への変更

$query="SELECT * FROM 'banner_ad' WHERE 'banner_no'='$sn'";
于 2012-11-30T19:19:50.013 に答える