Attempt to insert data into SQLite database
Hello, i am trying to insert data about picture in the Picture table. I do not understand what's going on here, but nothing works. Basically, the database file is created so it's fine. The only issue is inserting new values. I am using method post. Can anyone tell me what am I doing wrong? Thanks in advance.
Creating database file:
Code:
<?
$db=sqlite_open("art.db");
@sqlite_query($db, "DROP TABLE Picture");
@sqlite_query($db, "DROP TABLE Artist");
@sqlite_query($db, "DROP TABLE Sales");
@sqlite_query($db,"CREATE TABLE Picture (ID integer PRIMARY KEY , name VARCHAR[200], year integer, artistID integer)",$sqliteerror);
@sqlite_query($db,"CREATE TABLE Artist (IDnum integer PRIMARY KEY , aname VARCHAR[10], DOB integer, DOD integer, nationality VARCHAR[200])",$sqliteerror);
@sqlite_query($db,"CREATE TABLE Sales (picID integer PRIMARY KEY , sdate date, price decimal)",$sqliteerror);
sqlite_query($db,"INSERT INTO Picture (ID, name, year, artistID) VALUES ( 1, 'The Hay Wain', 1821, 4 )");
sqlite_query($db,"INSERT INTO Picture (ID, name, year, artistID) VALUES ( 2, 'Salisbury Cathedral from the Meadows', 1831, 4 )");
sqlite_query($db,"INSERT INTO Picture (ID, name, year, artistID) VALUES ( 3, 'A Wheatfield with Cypresses', 1889, 7 )");
sqlite_query($db,"INSERT INTO Artist (IDnum, aname, DOB, DOD, nationality) VALUES ( 4, 'John Constable', 1776, 1837, 'British' )");
sqlite_query($db,"INSERT INTO Artist (IDnum, aname, DOB, DOD, nationality) VALUES ( 7, 'Vincent Van Gogh', 1853, 1890, 'Dutch' )");
sqlite_query($db,"INSERT INTO Sales (picID, sdate, price) VALUES ( 1, 2008-01-01, 23.56 )");
sqlite_query($db,"INSERT INTO Sales (picID, sdate, price) VALUES ( 1, 2008-01-09, 500230.00 )");
sqlite_query($db,"INSERT INTO Sales (picID, sdate, price) VALUES ( 1, 2009-12-15, 87.56 )");
sqlite_close($db);
Html interface for inserting data about picture:
Code:
<html>
<head>
</head>
<body>
<form action="process.php" method="POST">
<table>
<tr>
<td>ID:</td><td><input name="ID"/></td>
</tr>
<tr>
<td>Name:</td><td><input name="Name"/></td>
</tr>
<tr>
<td>Year:</td><td><input name="Year"></textarea></td>
</tr>
<tr>
<td>ArtistID:</td><td><input name="ArtistID"></textarea></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>
PHP file inserting the actual data and trying to display it in the table:
Code:
<body>
<?php
//SQLite Database test query
$db=sqlite_open("art.db");
$ID = $_POST["ID"];
$name = $_POST["name"];
$Year = $_POST["Year"];
$ArtistID = $_POST["ArtistID"];
sqlite_query($db,"INSERT INTO Picture (ID, name, year, artistID) VALUES ( '&ID', '&name', '&Year', '&ArtistID' )");
//now output the data to a simple html table...
echo "<table border=1>";
echo "<tr><td>Id</td><td>Name</td><td>Year</td><td>ArtistID</td></tr>";
while($row=sqlite_fetch_array($result,SQLITE_ASSOC ))
{
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['Year'] . "</td>";
echo "<td>" . $row['ArtistID'] . "</td>";
echo "</tr>";
}
echo "</table>";
sqlite_close($db);
?>
</body>
</html>