如何将数字列表插入MySQL表?

时间:2015-06-07 11:35:00

标签: php mysql

我需要在列liked_comments中插入注释ID列表。

例如,如果用户喜欢ID为7283937的评论,则会将其存储在那里。

$id = mysqli_real_escape_string($conn,$_POST['id']); // a number posted using ajax from another file
$username = mysqli_real_escape_string($conn,$_SESSION['username']);

if (!empty($_POST) && isset($_SESSION['username'])){
        mysqli_query($conn,"UPDATE users SET liked_comments=liked_comments+$id WHERE username='$username'");
}

目前,这只是添加ID,好像它们是数字而不是字符串,但我需要将71,789,17371 789 173分隔为空格或逗号。添加+' '++','+似乎无效。

2 个答案:

答案 0 :(得分:2)

你不能在mysql中使用$url = 'http://...' $ie = New-Object -COM 'InternetExplorer.Application' $ie.Navigate($url) do { Start-Sleep -Milliseconds 100 } until ($ie.ReadyState -eq 4) $ie.Visible = $true $el = $ie.Document.getElementById('txtFormID') $el.FireEvent('onKeyUp') 进行连接,你必须使用concat之类的

+

此外,您可以将注释部分移动到分隔的表中,而不是在列中存储逗号分隔值,其中每行包含$Query = "UPDATE users SET liked_comments=concat(liked_comments, ',', '$id') WHERE username='$username'"; PostID,这将更加整洁和灵活。

答案 1 :(得分:0)

执行此操作的最佳方法是将数组存储在数据库中。例如;如果我们有这个数组:

$liked_comments_array = array(71, 789, 173);

您可以将其存储在数组中,如下所示:

$liked_comments_array = serialize($liked_comments_array);
// now insert this into the database

然后,当您从数据库中获取此数组时,只需将其反序列化为:

$liked_array_comments = unserialize($field_from_database);