-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

あなたのinsertステートメントは(たとえそれを実行したとしても)機能しません。これは、file_idに設定されNOT NULL、主キーであるを追加せず、前述のように、前述のフィールドよりも多くの値を渡すためです。したがって、作成テーブルを次のように変更することから始めます。

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

に明示的に名前を付けたくない場合はfile_id、Web 上にたくさんのチュートリアルがあります。そして、それらを注意深く読んでください。

于 2013-03-27T15:24:14.070 に答える
0

コードに次のエラーがあります。

1 - Create table クエリから一重引用符を削除します。

から変更する

$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 アップロード ( 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) まず、およびを使用してクエリを実行していません

次に、列の数と挿入のために送信する値が同じではありません...これにより、mysqlエラーが生成されます

于 2013-03-27T15:29:48.987 に答える