根据会话的用户ID将值插入数据库

时间:2019-02-24 17:00:49

标签: php session insert

尝试根据用户的会话ID和POST插入分数,我已将数据库设置为使用UserID作为外键约束,但不知道如何执行插入查询。

enter image description here

数据库值^^

我在下面的尝试

<?php
include("php/functions.php");
include('connections/conn.php');
$userID = $_SESSION["userID"];
//echo "all good here";
$newsoanxscore = mysqli_real_escape_string($conn, $_POST['socanxscore']);
$insertquery = "INSERT INTO socanxscore(socialanxietyscore)" . "VALUES('$newsoanxscore')";
$result = mysqli_query($conn, $insertquery) or die(mysqli_error($conn));
mysqli_close($conn);
?> 

我的插入表格

 <form action="insertsoanxietyscore.php" method="post">
        Insert your score <input type="number" name="socanxscore" /><br><br>
        <input type="submit" />
 </form>

2 个答案:

答案 0 :(得分:0)

这里有些事情可能会有所帮助。

首先,您没有将用户ID传递到插入查询中。在这种情况下可以写成。

$insertquery = "INSERT INTO socanxscore(socialanxietyscore, UserId) VALUES('$newsoanxscore', '$userID')";

第二,请花点时间探索准备好的查询,以在将最终用户输入传递到数据库表时防止SQL注入。您可能会发现以下有用的资源。

http://php.net/manual/en/mysqli.prepare.php

答案 1 :(得分:0)

为此:

     <?php
    session_start();
    include("php/functions.php");
    include('connections/conn.php');
    $userID = $_SESSION["userID"];
    if(isset($_POST["socanxscore"]))
    {
        $query=INSERT INTO socanxscore(socialanxietyscore) VALUES('$newsoanxscore') WHERE userID=$userID";


        $result = mysqli_query($conn, $insertquery) or die(mysqli_error($conn));
}

else
{
ehco "error";
}

    mysqli_close($conn);
    ?>