-1
$host     = 'localhost';
$user     = 'root';
$password = '';
$database = 'egov';

$conn = mysql_connect($host, $user, $password) or die('Server Information is not Correct');
mysql_select_db($database, $conn) or die('Database Information is not correct');

$sql = "CREATE TABLE IF NOT EXISTS 'upload'(
file_id INT(11) NOT NULL,
fName VARCHAR(255) NOT NULL,
lName VARCHAR(255) NOT NULL,
Mo INT(11) NOT NULL,
dese VARCHAR(255) NOT NULL,
Email VARCHAR(255) NOT NULL,
file_name VARCHAR(255) NOT NULL,
PRIMARY KEY(file_id))ENGINE = MYISAM";

if (isset($_POST['upload']) && $_FILES['userfile']['size'] > 0) {
    $fileName = $_FILES['userfile']['name'];
    $tmpName  = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];

    $fp      = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);

    if (!get_magic_quotes_gpc()) {
        $fileName = addslashes($fileName);
    }

    $da = date("dmy");
    echo $da;

    $fname = $_REQUEST['lastname'];
    $lname = $_REQUEST['firstname'];
    $pno   = $_REQUEST['mbo'];
    $email = $_REQUEST['email'];
    $query = $_REQUEST['description'];

    $sql = "INSERT INTO upload (
                    fName,
                    lName,
                    Mo,
                    dese,
                    Email                   
                )
                VALUES (
                    '$fname',
                    '$lname',
                    '$pno',
                    '$email',
                    '$query ',
                    'file_name',
                    NOW()
                )";
}

$query = "SELECT * FROM upload";
    $result = mysql_query($query);

    echo "<table>";
    echo "<tr>";

    while( ($row = mysql_fetch_array($result)))
{
    echo "<tr>";
    echo "<td>".$row['fName']."</td>";
    echo "<td>".$row['lName']."</td>";
    echo "<td>".$row['Mo']."</td>";
    echo "<td>".$row['dese']."</td>";

    echo "<td>".$row['Email']."</td>";
    echo "</tr>";
}

    echo "</tr>";
    echo "</table>";

数据没有插入到表中,我已经问过了,但没有得到答复。不要拒绝投票,因为它会毁了我的帐户。

我的html代码是:

<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile"> 
4

4 回答 4

1

问题在于您的INSERT声明(您从未执行过)。

$sql = "INSERT INTO upload (
                fName,
                lName,
                Mo,
                dese,
                Email                   
            )
            VALUES (
                '$fname',
                '$lname',
                '$pno',
                '$email',
                '$query ',
                'file_name',
                NOW()
            )";

您的列列表有 5 列,您要发送 7 列。

如评论中所述,您应该停止使用mysql_函数并使用准备好的语句。

于 2013-03-27T15:20:22.543 回答
0

您的插入语句将不起作用(即使您执行了它),因为您没有添加file_id设置为NOT NULL并且是您的主键的,并且如上所述,您传递的值比提到的字段多。所以我首先将创建表更改为:

$sql = "CREATE TABLE IF NOT EXISTS  'upload'(file_id INT(11) NOT NULL AUTO_INCREMENT,...

如果您不想明确命名file_id,然后去查看更多教程,网络上有很多教程。并仔细阅读它们。

于 2013-03-27T15:24:14.070 回答
0

您的代码中有以下错误:

1 - 从创建表查询中删除单引号,即

从改变

$sql = "CREATE TABLE IF NOT EXISTS  'upload'(file_id INT(11) NOT NULL,fName VARCHAR(255)    
NOT NULL,lName VARCHAR(255) NOT NULL,Mo INT(11) NOT NULL,dese VARCHAR(255) NOT 
NULL,Email VARCHAR(255) NOT NULL,file_name VARCHAR(255) NOT NULL,PRIMARY 
KEY(file_id))ENGINE = MYISAM";

$sql = "CREATE TABLE IF NOT EXISTS  upload (file_id INT(11) NOT NULL,fName VARCHAR(255)    
NOT NULL,lName VARCHAR(255) NOT NULL,Mo INT(11) NOT NULL,dese VARCHAR(255) NOT 
NULL,Email VARCHAR(255) NOT NULL,file_name VARCHAR(255) NOT NULL,PRIMARY 
KEY(file_id))ENGINE = MYISAM";

2 - 您的插入查询错误。

值的数量大于参数的数量,即

$sql = "INSERT INTO upload (fName, lName, Mo, dese, Email
) VALUES ('$fname', '$lname', '$pno', '$email', '$query', 'file_name', NOW ())"; 对于 5 列,您将提供 7 列。更改查询,例如

  INSERT INTO upload (
                fName,
                lName,
                Mo,
                dese,
                Email                   
            ) ....

INSERT INTO upload (
                fName,
                lName,
                Mo,
                dese,
                Email,
               NAME_OF_YOUR_QUERY_COLUMN,
               NAME_OF_YOUR_file_name_COLUMN,
               NAME_OF_YOUR_CURRENT_DATE_COLUMN
            ) ....
于 2013-03-27T15:28:07.107 回答
0

首先,您没有使用 mysql_query($sql) and执行查询

其次,您的列数和您发送的插入值不一样......这将产生mysql错误

于 2013-03-27T15:29:48.987 回答