Jump to content

help inserting database into table


mike16889

Recommended Posts

im trying to write a script takes an xml files with tv show info, splits it into the show and the eppisode info and the place it into a table, i have got it to proccess all the info and print it out on a web page, but i cant, for the life of me, get it to insert said data into the table, it seems to be just ignoring the code and prints out the data as if nothing happens, no errors or anything. here is my code (abit messy but im only just starting and its my test.php)

 

<?php
$tvdb_mirror = "http://www.thetvdb.com/api/";
$tvdb_time = "http://www.thetvdb.com/api/Updates.php?type=none";
$dbname = "mediadb";
$dbuser = "root";
$dbpass = "";
$dbserv = "127.0.0.1";

$rss = simplexml_load_file('sample.xml');

$showName = "Show Name = ".$rss->Series->SeriesName;
print $showName;
print "<br />Show Discription = ".$rss->Series->Overview;
print "<br />";

mysql_connect('127.0.0.1', 'root', '');
@mysql_select_db('mediadb') or die("Unable to select database");

foreach ($rss->Episode as $item) {
	$seasonnum = $item->Combined_season;
	$EpisodeNumber = $item->EpisodeNumber;
	 if($EpisodeNumber < 10){
		$EpisodeNumber = "0".$EpisodeNumber;
	 };
	$EpisodeName = $item->EpisodeName;
	$Overview = $item->Overview;
	$airdate = $item->FirstAired;
	$tvdbid = $item ->id;

		$query = "INSERT INTO eppisodes VALUES('', '1', ".$EpisodeName.", ".$Overview.", ".$airdate.", '1', ".$tvdbid.", '-1', ".$seasonnum.", ".$EpisodeNumber.")";
		mysql_query($query);

	print "<br />".$showName." - ".$seasonnum."x".$EpisodeNumber." - ".$EpisodeName." Overview:<br />".$Overview;
}
mysql_close();
?>

 

i am a noob @ php and mysql, but i have doubke and triple checked the names of the db and table.

 

here is an sql dump of my db

-- phpMyAdmin SQL Dump
-- version 3.3.5
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Nov 13, 2010 at 12:48 PM
-- Server version: 5.1.49
-- PHP Version: 5.3.3

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `mediadb`
--

-- --------------------------------------------------------

--
-- Table structure for table `eppisodes`
--

CREATE TABLE IF NOT EXISTS `eppisodes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `showID` int(11) NOT NULL,
  `eppname` varchar(255) NOT NULL,
  `eppdesc` longtext NOT NULL,
  `airdate` date NOT NULL,
  `format` int(11) NOT NULL,
  `tvdbid` varchar(20) NOT NULL,
  `dohave` tinyint(1) NOT NULL,
  `season` varchar(2) NOT NULL,
  `eppisode` varchar(3) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

--
-- Dumping data for table `eppisodes`
--


-- --------------------------------------------------------

--
-- Table structure for table `shows`
--

CREATE TABLE IF NOT EXISTS `shows` (
  `id` int(100) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `description` longtext NOT NULL,
  `TVDBID` int(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Dumping data for table `shows`
--

INSERT INTO `shows` (`id`, `name`, `description`, `TVDBID`) VALUES
(1, 'higogo', 'some info', 67546);

 

any help would be very much appericiated.

 

fyi im running win7 with easyPHP 5.3.3 with php 5.3.3, mysql 5.1.49 apache 2.2.16

Link to comment
Share on other sites

<?php
$tvdb_mirror = "http://www.thetvdb.com/api/";
$tvdb_time = "http://www.thetvdb.com/api/Updates.php?type=none";
$dbname = "mediadb";
$dbuser = "root";
$dbpass = "";
$dbserv = "127.0.0.1";

$rss = simplexml_load_file('sample.xml');

$showName = "Show Name = ".$rss->Series->SeriesName;
print $showName;
print "<br />Show Discription = ".$rss->Series->Overview;
print "<br />";

mysql_connect('127.0.0.1', 'root', '');
@mysql_select_db('mediadb') or die("Unable to select database");

foreach ($rss->Episode as $item) {
	$seasonnum = $item->Combined_season;
	$EpisodeNumber = $item->EpisodeNumber;
	 if($EpisodeNumber < 10){
		$EpisodeNumber = "0".$EpisodeNumber;
	 };
	$EpisodeName = $item->EpisodeName;
	$Overview = $item->Overview;
	$airdate = $item->FirstAired;
	$tvdbid = $item ->id;

		$query = "INSERT INTO eppisodes VALUES('1', ".$EpisodeName.", ".$Overview.", ".$airdate.", '1', ".$tvdbid.", '-1', ".$seasonnum.", ".$EpisodeNumber.")";
		mysql_query($query) or die (mysql_error());

	print "<br />".$showName." - ".$seasonnum."x".$EpisodeNumber." - ".$EpisodeName." Overview:<br />".$Overview;
}
mysql_close();
?>

 

Try that, I believe the issue was with you trying to insert a blank value to an auto_increment id.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.