Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP中的MySQL中获取字符串作为结果-字符串始终为空?_Php_Mysql - Fatal编程技术网

从PHP中的MySQL中获取字符串作为结果-字符串始终为空?

从PHP中的MySQL中获取字符串作为结果-字符串始终为空?,php,mysql,Php,Mysql,首先,我已经完成了我的家庭作业(研究),但这更像是我代码中的一个bug,让我发疯,我需要更多人的帮助来解决它。所以,如果有人知道为什么会发生这种情况,请告诉我 问题是: 在MySQL表中,我将项目id保留为“1,2,3,4,” 然后通过ajax检查某个项目id是否是其中的一部分 字符串,所以如果不是它的一部分,我尝试添加它(例如,如果13是 更新后的部分应为“1,2,3,4,13”,但 我总是以“13”结尾 下面是我试图修复的代码的相关部分: $result = mysql_query("SEL

首先,我已经完成了我的家庭作业(研究),但这更像是我代码中的一个bug,让我发疯,我需要更多人的帮助来解决它。所以,如果有人知道为什么会发生这种情况,请告诉我

问题是:

  • 在MySQL表中,我将项目id保留为“1,2,3,4,”

  • 然后通过ajax检查某个项目id是否是其中的一部分 字符串,所以如果不是它的一部分,我尝试添加它(例如,如果13是 更新后的部分应为“1,2,3,4,13”,但 我总是以“13”结尾

  • 下面是我试图修复的代码的相关部分:

    $result = mysql_query("SELECT `assigned_projects` FROM `users` WHERE `user_id`=`$user_id`");
    $user_proekti = mysql_fetch_row($result);
    $str_proekti = $user_proekti[0];
    
    if (!(strpos($str_proekti, $proekt))) {            
        //Means that the project is not in the list and should be added
        $new_proekti = $str_proekti.$proekt.","; //$str_proekti is always empty string??????
        $assign_new_project = mysql_query("UPDATE `users` SET `assigned_projects` = `$new_proekti` WHERE `user_name` = `$dodeleno` ");
        $update_track_changes = mysql_query("UPDATE `track_changes` SET `proekts_order` = `1`");
    }
    
    尽可能地试一下

    $str = "1,2,3,4,";
    $input = "13";
    $arr = array_filter(explode(',', $str));
    if (!in_array($input, $arr)) {
        array_push($arr, $input);
    }
    echo implode(',', $arr);
    
    尽可能地试一下

    $str = "1,2,3,4,";
    $input = "13";
    $arr = array_filter(explode(',', $str));
    if (!in_array($input, $arr)) {
        array_push($arr, $input);
    }
    echo implode(',', $arr);
    

    不要试图使用
    strpos
    在数组中使用
    explode
    ,只需使用
    array\u pop
    array\u push
    ,在数组中分别使用
    删除
    添加
    ,最后使用
    内爆
    再次绑定
    我昨天尝试了explode,它给了我最后一个空元素,然后array_pop将其删除,最后array push添加新元素。但是当它在数据库中更新时-仍然是空的,甚至不是最后一个id。。。也许我错误地使用了内爆来恢复字符串中的所有元素。我会再试一次,让你知道进展如何。无论如何,感谢您不要试图使用
    strpos
    在数组中使用
    explode
    并简单地使用
    array\u pop
    array\u push
    来分别在数组中使用
    移除
    添加
    ,最后使用
    内爆
    再次绑定
    我昨天尝试了explode,它给了我最后一个空元素,然后array_pop将其删除,最后array push添加新元素。但是当它在数据库中更新时-仍然是空的,甚至不是最后一个id。。。也许我错误地使用了内爆来恢复字符串中的所有元素。我会再试一次,让你知道进展如何。无论如何谢谢你