0

MyArray という配列があり、そのデータを mysql に挿入したいのですが、最初に mysql に既に存在するかどうかを確認する必要があります。配列をループする方法と、配列内の各変数を参照してそれらのデータをmysqlに挿入する方法を誰か教えてもらえますか?

$MyArray[] = array(  
        "usernameVar" => htmlspecialchars($usernameVar),
        "profPic" => htmlspecialchars($profPic), 
        "idVar" => htmlspecialchars($idVar), 
        "standardResolution" => htmlspecialchars($standardResolution),  
        "imagePageLink" => htmlspecialchars($imagePageLink),
        "createdTimeVal" => htmlspecialchars($createdTimeVal),
        "imageTags" => htmlspecialchars($imageTags),
);  

$MyArray = array_reverse( $MyArray );

//now i need to loop through array and insert non duplicate data in to mysql

$result = mysql_query("SELECT imageUrl FROM mytable WHERE imageUrl = '$standardResolution'");
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
if(mysql_num_rows($result) == 0) {
    $j++;
    echo "<a href='".$imagePageLink."'><img src='".$standardResolution."'  width='150' height='150' border='0'></a><br> ";

    // row not found, do stuff...
    echo "New Users(".$i."):";
    echo "<br>User Name(".$i."):".$usernameVar;

    $result2 =  mysql_query("INSERT INTO mytable (ID, username, profile_picture, instaId, imageUrl,imagePageURL, CreatedTime, imageTags, date) VALUES('$ID','$usernameVar','$ProfilePicVar','$idVar','$standardResolution','$imagePageLink','$createdTimeVal','$imageTags',NOW())");

    if (!$result2) {
        die('Invalid query: ' . mysql_error());
    }
} 
else 
{
    $m++;

    // do other stuff...
    echo "Already Added Users(".$i."):";
    echo "<br>User Name(".$i."):".$usernameVar;
};
4

2 に答える 2

1

INSERT INTO ... ON DUPLICATE KEY UPDATE ... 構文を参照してください。

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

于 2013-09-21T17:40:58.073 に答える