0

現在、次の機能を使用しています。

    if(isset($_REQUEST["function"]) && ($_REQUEST["function"] == "setnm")){
$value = $_REQUEST["value"]; //field to edit

$con=mysqli_connect("localhost", "root", "", "hike_buddy");
//Check Connection

if(mysqli_connect_errno())
{
    echo "failed to connect:".mysqli_connect_error();
}

mysqli_query($con, "INSERT INTO user_com (name) VALUES ('$value')");
mysqli_close($con);

}

このコードを変更して、2 つのフィールドの値を変更するにはどうすればよいですか?

たとえば、コメントと名前の列があり、それらの両方 (異なる値) を 1 つの関数で更新したいとします。

4

3 に答える 3

1

データベース クエリで、ユーザーが指定したエスケープされていない文字列を使用しないでください

したがって、mysqli を使用している場合:

$value1 = $con->real_escape_string($_REQUEST['value_1']);
$value2 = $con->real_escape_string($_REQUEST['value_2']);
$query = "INSERT INTO my_table (column_1, column_2) VALUES ('$value1', '$value2')";
$con->query($query);
于 2013-10-21T14:29:42.887 に答える
0

データベースに新しいデータを挿入しようとしていますか、それとも既存のデータを更新しようとしていますか?

データを更新する場合は、UPDATE ステートメントを使用する必要があります。

$query = "UPDATE my_table SET column_1 = '$value1', column_2 = '$value2' WHERE my_table_key = '$key'";

また、har-wradim が提案したように、これらの変数をエスケープする必要があります。

于 2013-10-21T14:36:11.383 に答える
-1

次のことができます。

if(isset($_REQUEST["function"]) && ($_REQUEST["function"] == "setnm")){
    $value = $_REQUEST["value"]; //field to edit
    $comment = $_REQUEST["comment"]; //This is your comment

    $con=mysqli_connect("localhost", "root", "", "hike_buddy");
    //Check Connection

    if(mysqli_connect_errno())
    {
        echo "failed to connect:".mysqli_connect_error();
    }

    //Edit the query like so to update insert the comment along with the name.
    mysqli_query($con, "INSERT INTO user_com (name, comment) VALUES ('$value', '$comment')");
    mysqli_close($con);
}
于 2013-10-21T14:18:02.883 に答える