如何在PHP请求的SQL更新中使用CONCAT和NOT LIKE


How to use CONCAT and NOT LIKE in an SQL Update in PHP request

嗨,我正在创建一个android应用程序,我目前处于停顿状态,因为我的sql技能没有达到标准。我使用json。运行以下php.

情况:我正在检查表列(users_watched),看看user_id是否存在基于title_text的内部,因为它是一个数字,我正在使用,1,(示例)逗号围绕数字,所以它不会与101这样的东西混淆,并返回该值。如果user_id不在行中,则将其添加到字符串的末尾。

文本数据: user_id ="10"- watched_title ="video_title"——temp_user_id = ', 10日

$user_id = $_POST["user_id"];
$watched_title = $_POST["watched_title"];
$temp_user_id = $_POST["temp_user_id"];
$like_input = "'%".$temp_user_id."%'";  
$statement = mysqli_prepare($con, "UPDATE videos SET users_watched = CONCAT(users_watched, '?') WHERE users_watched NOT LIKE ? AND title_text = ?");    
mysqli_stmt_bind_param($statement, "sss", $user_id, $like_input, $watched_title);
mysqli_stmt_execute($statement);

结果:没有将值添加到合适的字符串的末尾。

期望输出根据videos_watched

将user_id = 10添加到字符串的末尾
    <?php
    $user_id = $_POST["user_id"];
    $watched_title = $_POST["watched_title"];
    $temp_user_id = $_POST["temp_user_id"];
    $like_input = "%".$temp_user_id."%";  
try {
    $con = new PDO('mysql:host=$host;dbname=$dbname','$username', '$pass');
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
    $stmt = $con->prepare("UPDATE videos SET users_watched = CONCAT(users_watched, :userid) WHERE users_watched NOT LIKE :like_input AND title_text = :watched_title");
    $stmt->bindParam(':userid', $userid);
    $stmt->bindParam(':like_input', $like_input);
    $stmt->bindParam(':watched_title', $watched_title);
    $stmt->execute();   
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
 ?>