0

フレームワークや WYSIWYG ソフトウェアを使用せずに、最初から今日まで Web サイトを構築してきました。私が作った方法はもっと簡単だったかもしれないことに今気づきました。

私は php と mysql の初心者であり、それがどのように機能するかを理解したいと思っています。そのため、特定のテーマに関するウェブサイトを作成することにしました。これが、これら 2 つの言語を学習するためのベスト プラクティスです...

そう、

私のウェブサイトは、毎日更新されるビデオ コンテンツに関するものです。

以前は動画ごとに独自の Web ページを作成していました...現在、300 ページを超える動画コンテンツがあり、このすべてのコンテンツをデータベースに取り込み、すべてを 1 つのテンプレート Web ページに配置したいと考えています。

変更を適用したいときは、それらの Web ページをすべて開き、各ページで必要な変更を行う必要があります。幸いなことに、検索と置換ボックスが役に立ちます。

ウェブサイトで、日常業務をより迅速かつ簡単に行えるようなことをしたかっただけです。

mysql リクエストで URL の書き換えを行いたいと考えています。

コードの一部に取り組んでいますが、何が問題なのかわかりません。Dreamweaver はシンタックスにエラーがないことを教えてくれますが、プレビューすると (WAMP)、'p' パラメータを削除するまでエラーが表示され続けます。以下に、私が使用しているコードを紹介します。

    <?php
include "connect.php";
$id = $_GET["id"]; 
$sql = "SELECT * FROM videos WHERE id=$id LIMIT 1"; //mysql tells me there's a error near LIMIT 1
$req = mysql_query($sql) or die( mysql_error()." ERROR");
$data = mysql_fetch_assoc($req);

if($data["url"]!=$_GET["url"])
{
    header("location:/video/atest.php/".$data["id"]."-".$data["url"]); //if the URL is altered, it will be immediatelly fixed thanks to this function
}
?>

SQL 構文にエラーがあります。1行目の「LIMIT 1」付近で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。エラー

そのおかげで、何千もの変更を加えて新しい Web ページをアップロードすることなく、一意のビデオ > タイトル、説明などのすべてのコンテンツをデータベースに挿入できます。

URL パラメータもデータベースにあり、php スクリプトはデータベースを呼び出して URL を取得し、これを一意の Web ページのように見せます。

ああ、私の英語でごめんなさい...

どうもありがとう。

4

3 に答える 3

1

試す

$id = mysql_real_escape_string($_GET["id"]); 
$sql = "SELECT * FROM videos WHERE id=$id LIMIT 1";
于 2012-07-15T16:50:17.140 に答える
0

行を変更します: $sql = "SELECT * FROM videos WHERE id=$id LIMIT 1";

これに: $sql = "SELECT * FROM videos WHERE id='".$id."' LIMIT 1";

SELECT は、php 変数 $id ではなく、文字列 '$id' を選択しています。

于 2012-11-08T21:15:07.150 に答える
0

echo $_GET["id"]; を試してください。sql の前に値を取得しているかどうかを確認します。また、「PDO」を学ぶことは、直接SQLステートメントを使用するよりも優れているか、ジョイスが言ったようにescape_stringを使用するよりも優れています。

于 2012-07-15T17:26:49.400 に答える