从PHP中的MySQL中获取字符串作为结果-字符串始终为空?
首先,我已经完成了我的家庭作业(研究),但这更像是我代码中的一个bug,让我发疯,我需要更多人的帮助来解决它。所以,如果有人知道为什么会发生这种情况,请告诉我 问题是:从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
$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。。。也许我错误地使用了内爆来恢复字符串中的所有元素。我会再试一次,让你知道进展如何。无论如何谢谢你