从php脚本插入语句到mysql:数据库没有读取插入语句


Insert statement from php script to mysql: Database not reading insert statement

所以直到插入语句之前的一切都是完美的。我知道数据库正在连接,因为我可以用前两条语句从数据库中选择信息。我还知道execute_statment3可以工作,因为没有打印错误,并且当它被放入sql中时,语句以应有的方式插入。因此,问题在于脚本和phpmyadmin之间的通信。我已经盯着这个问题看了两天了,快疯了。

<?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和Album (AlbumID是主键)。第二个表称为Images,有四列ImageID(主键)、AlbumID(外键)、Description和Extensions。

您没有运行语句

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

试题:

mysql_query($execute_statement3);

同时,确保转义所有变量

确保您在PHP脚本中连接的用户具有插入语句的权限。你可以使用一个db用户只选择权限…