Ответы пользователя по тегу MySQL
  • Парсинг XML файла средствами MySQL

    И еще вопрос, возможно-ли сделать в рамках такого запроса удаление из БД тех записей, id которых не найдены в файле XML?

    Вот собственно сделай замену этого:

    
    if ("$total" == 0) {
            $sql = ("INSERT INTO users (id,login, realname, item_1, item_2) VALUES('$id','$login', '$realname', '$item_1', '$item_2')");
            $result = mysql_query($sql) or die("Error ".mysql_error());
        } else {
            echo 'ID или Login - существуют!';
        }
    

    на это:

    
    if ("$total" == 0) {
    		$sql = ("INSERT INTO users (id,login, realname, item_1, item_2) VALUES('$id','$login', '$realname', '$item_1', '$item_2')");
    		$result = mysql_query($sql) or die("Error ".mysql_error());
    	} else {
    		$q = "DELETE users FROM users WHERE users.id != '$id'";
        	mysql_query($q);
        	header("Location: index.php");
    	}
    

    P.S. Извините за спам :) - (сделайте возможность редактировать свой пост :) )

    Ответ написан
  • Парсинг XML файла средствами MySQL

    Вот под Твою XML-ку обработчик на PHP.

    Проверяет на уже существующий в базе ID и Login. Если TRUE - не вносит.

    
    mysql_connect("localhost", "xmluploader", "xmluploader") or die(mysql_error());
    mysql_select_db("xmluploader") or die(mysql_error()); 
    
    $xmlURL = "xml.xml";
    
    $sxml = simplexml_load_file($xmlURL);
    
    foreach($sxml->user as $user) {
    
    	$id = stripslashes($user->attributes()['id']);
    	$login = stripslashes($user->attributes()['login']);
    	$realname = stripslashes($user->attributes()['realname']);
    	$item_1 = stripslashes($user->items->item_1->attributes()['img']);
    	$item_2 = stripslashes($user->items->item_2->attributes()['img']);
    
    	$query = mysql_query("SELECT COUNT(*) FROM users WHERE login='$login' OR id='$id'") or die(mysql_error());
    	$user = mysql_fetch_row($query);
    	$total = $user[0];
    
    	if ("$total" == 0) {
    		$sql = ("INSERT INTO users (id,login, realname, item_1, item_2) VALUES('$id','$login', '$realname', '$item_1', '$item_2')");
    		$result = mysql_query($sql) or die("Error ".mysql_error());
    	} else {
    		echo 'ID или Login - существуют!';
    	}
    }
    

    Ответ написан