0

このスクリプトは単に機能していません...誰かが私が間違っていることを教えてもらえますか?

$id = $_POST['id'];
$name = $_POST['name'];
$date = $_POST['date'];
$shortdesc = $_POST['shortdesc'];
$link = $_POST['link'];
$target = $_POST['target'];
$sort = $_POST['sort'];
$html = $_POST['html'];

    include('appvars.php');

    $query = "UPDATE insight SET name='".$name."' AND SET date='". $date . "' AND SET html='" . $html . "' AND SET shortdesc='" . $shortdesc . "' AND SET link='" . $link . "' AND SET target='" . $target . "' AND SET sort='" . $sort . "' WHERE id='" . $id . "'";

    mysqli_query($dbc, $query);
4

5 に答える 5

5

値をエスケープしていないため、SQLインジェクションや無効なステートメントの作成に対して脆弱です。たとえば、入力文字列のいずれかにアポストロフィが含まれていると、コードが失敗する可能性があります。

パラメータを使用してクエリを作成するのがはるかに簡単になるプリペアドステートメントをご覧ください。

クエリでは、の代わりにコンマも使用する必要がありますAND SET

$query = "UPDATE insight SET name='foo', date='2012-12-10' WHERE id=42";

UPDATEの構文は、MySQLのドキュメントで説明されています。

于 2012-06-06T05:49:45.750 に答える
0

このように使って、

$query = "UPDATE insight SET name='".$name."' ,date='". $date . "' ,html='" . $html . "' ,shortdesc='" . $shortdesc . "' ,link='" . $link . "' ,target='" . $target . "' ,sort='" . $sort . "' WHERE id='" . $id . "'";
于 2012-06-06T05:50:51.157 に答える
0

SQL 構文が正しくないと思います。次のように使用できます。UPDATE tablename SET rowname = value , ....

于 2012-06-06T06:15:01.690 に答える
0

その作業...今すぐチェック

 $id = $_POST['id'];
    $name = $_POST['name'];
    $date = $_POST['date'];
    $shortdesc = $_POST['shortdesc'];
    $link = $_POST['link'];
    $target = $_POST['target'];
    $sort = $_POST['sort'];
    $html = $_POST['html'];

        include('appvars.php');

       $query = "UPDATE insight SET name='".$name."' ,date='". $date . "' ,html='" . $html . "' ,shortdesc='" . $shortdesc . "' ,link='" . $link . "' ,target='" . $target . "' ,sort='" . $sort . "' WHERE id='" . $id . "'";



        mysqli_query($dbc, $query);
于 2012-06-06T05:55:21.740 に答える
0

私はmysqlのプロではありませんが、試してみてください。

id整数だと思います。だから、引用しないでください。

これを試して、

$query = "UPDATE insight SET name='".$name."' , date='". $date . "' , html='" . $html . "' , shortdesc='" . $shortdesc . "' , link='" . $link . "' , target='" . $target . "' , sort='" . $sort . "' WHERE id=". $id ;
于 2012-06-06T05:57:19.713 に答える