0

私はphpが初めてなので、助けが必要です。私はめちゃくちゃ時間を過ごしています...そしてそれは簡単だと思います!

ここにphpファイルがあります: http://theclackamasprint.net/json.php

mysql から json に情報をプルしています。

記事を catid で区切るための解析 URL が必要です (表示されていません)

だから私はhttp://theclackamasprint.net/json.php?catid=84 http://theclackamasprint.net/json.php?catid=87と入力できるようにしたい

など...そしてそれらのcatidショーのみを持っています

これが私のコードです:

$host = "******";
$db = "******";
$user = "******";
$pass = "******";

$connection = mysql_connect($host, $user, $pass);

//Check to see if we can connect to the server
if(!$connection)
{
    die("Database server connection failed.");  
}
else
{
    //Attempt to select the database
    $dbconnect = mysql_select_db($db, $connection);

    //Check to see if we could select the database
    if(!$dbconnect)
    {
        die("Unable to connect to the specified database!");
    }
    else
    {
        $query = "SELECT title FROM tcp_content WHERE catid=84 ORDER BY publish_up DESC LIMIT 20";
        $resultset = mysql_query($query, $connection);

        $records = array();

        //Loop through all our records and add them to our array
        while($r = mysql_fetch_assoc($resultset))
        {
            $records[] = $r;        
        }

        //Output the data as JSON
        echo json_encode($records);
    }


}
4

1 に答える 1

-1

最短の解決策は、に変更catid=84することcatid=" . $_GET['catid'] . "です。これにより、catid パラメータを MySQL クエリにプラグインします。

結果の行は次のようになります

$query = "SELECT title FROM tcp_content WHERE catid=" . $_GET['catid'] . " ORDER BY publish_up DESC LIMIT 20";

ただし、これは SQL インジェクションに対して脆弱であるため、これが重大な作業の場合は、必ずmysqli_query()またはに切り替えてPDO::query()ください。

于 2013-11-08T05:25:03.803 に答える