2011-04-12 32 views
0

因此,插入语句的所有内容都可以正常工作。我知道数据库正在连接,因为我可以用前两条语句从数据库中选择信息。我也知道execute_statment3的作用是因为没有错误被打印出来,并且当它被放入sql时,语句按照它应该的方式插入。因此,问题在于脚本和phpmyadmin之间的通信。请帮助我一直在盯着这个问题两天,而且会变得非常疯狂。从php脚本插入语句到mysql:不读取插入语句的数据库

<?php 

session_start(); 

$hostname = 'localhost'; 
$username = '####'; 
$password = '####'; 


$connection = mysql_connect($hostname, $username, $password) 
or die ('Connection error!!!'); 


$database = '####'; 
mysql_select_db($database); 


$uid = $_SESSION['ID']; 
$album = $_POST['albumname']; 
$description = $_POST['description']; 
$filename = $_FILES["upload_file"]["name"]; 
$filetype = $_FILES["upload_file"]["type"]; 
$filesize = $_FILES["upload_file"]["size"]; 
$file_on_server = $_FILES["upload_file"]["tmp_name"]; 


if ($filetype == "image/jpeg") { 
    $file_copy_name = date(m.d.y_H.i.s) . ".jpg"; 
     copy($file_on_server, "uploads/" . $file_copy_name); 


    print "<br>"; 
    print "<img src = \"uploads/$file_copy_name\">";  


    print "<br>"; 
    $ret = system("pwd"); 


    $picture = "uploads/$file_copy_name"; 
} 


$execute_statement = "SELECT * FROM ImageAlbums WHERE Album = '$album'"; 


$results = mysql_query($execute_statement) or die ('Error executing SQL statement!!!'); 


while($item = mysql_fetch_array($results)) 


{ 
    $album2 = $item['Album']; 
} 

if ($album2 == $album) 


{ 
    $execute_statement2 = "SELECT * FROM ImageAlbums WHERE Album = '$album'"; 


    $results2 = mysql_query($execute_statement2) or die ('Error executing SQL statement2!!!'); 


     while ($row2 = mysql_fetch_array($results2)) { 


     $AID = $row2["AlbumID"]; 
     } 


    $execute_statement3 = "INSERT INTO Images (`ImageID`, `AlbumID`, `Description`, `Extensions`) VALUES ('NULL', '$AID', '$description', '$file_copy_name')";  


    ($execute_statement3) or die ('Error executing SQL statement3!!!'); 

} 


print "<br>"; 
print "<br>"; 
print $execute_statement3; 
print "<br>"; 
print "<br>"; 
print $AID; 
print "<br>"; 
print "<br>"; 
print $picture; 


?> 

我用两个数据库这个脚本的数据库之一,被称为ImageAlbums并有两列名为ALBUMID和相册(ALBUMID作为主键)。第二个表称为Images,并具有四列ImageID(主键),AlbumID(外键),Description和Extensions。

回答

1

您没有运行该语句

($execute_statement3) or die ('Error executing SQL statement3!!!'); 

尝试:

mysql_query($execute_statement3); 

此外,请确保你逃避所有的变量。

+0

谢谢,谢谢,谢谢。有用! – 2011-04-12 03:52:18

0

确保您在php脚本中连接的用户具有插入语句的权限。你可以使用只有选择权限的数据库用户...