Foreach插入多个值SQL SERVER

时间:2016-08-29 21:34:47

标签: php sql-server foreach insert

我有一个监控TWITTER的应用程序。我有以下代码:

PS:我有一个VAR $推文从Twitter接收内容,然后启动代码:

foreach ($tweets->statuses as $key => $tweet) { 
$image=$tweet->user->profile_image_url;
$user=$tweet->user->screen_name;
$name=$tweet->user->name;
$data=$tweet->created_at;
$post=$tweet->text;

echo "$image $user $name $data $post" ;
echo "<br>";   
}

完美无瑕!它打印很多行。 :)

当我尝试将其插入SQL Server时,问题就出现了:

$insert = "INSERT INTO dbo.twitter (user_photo, user_name, name, post, data) VALUES ('$image', '$user', '$name', '$post', '$data')";


$result=sqlsrv_query($conn, $insert);

if (!$result) {
print("Error");
  } else {
print("Data Inserted!");

mssql_close($conn); }

当我运行上面的命令时,它只插入1行数据!为什么???如果我尝试使用&#34; echo&#34;打印它,它会打印很多行,但是当我插入时,它只插入一行!有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要确保它在循环中执行。 所以

foreach ($tweets->statuses as $key => $tweet) { 
    $image=$tweet->user->profile_image_url;
    $user=$tweet->user->screen_name;
    $name=$tweet->user->name;
    $data=$tweet->created_at;
    $post=$tweet->text;

    echo "$image $user $name $data $post" ;
    echo "<br>"; 

    $insert = "INSERT INTO dbo.twitter (user_photo, user_name, name, post, data) VALUES ('$image', '$user', '$name', '$post', '$data')";


    $result=sqlsrv_query($conn, $insert);  
}