$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">
答案 0 :(得分:1)
问题在于你的INSERT
语句(你永远不会执行)。
$sql = "INSERT INTO upload (
fName,
lName,
Mo,
dese,
Email
)
VALUES (
'$fname',
'$lname',
'$pno',
'$email',
'$query ',
'file_name',
NOW()
)";
您的列列表有5列,而您发送的是7.
如评论中所述,您应该停止使用mysql_
函数并使用预准备语句。
答案 1 :(得分:0)
您的插入声明无法正常工作(即使您已执行),因为您没有添加设置为file_id
的{{1}}并且是您的主要密钥,并且如上所述传递的值多于提到的字段。所以我首先将创建表更改为:
NOT NULL
如果您不想明确命名$sql = "CREATE TABLE IF NOT EXISTS 'upload'(file_id INT(11) NOT NULL AUTO_INCREMENT,...
,然后再去查看更多教程,那么网上有很多这些教程。仔细阅读它们。
答案 2 :(得分:0)
您的代码中存在以下错误:
1 - 从Create table query中删除单引号,即
从
改变$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,
L-NAME,
莫,
DESE,
电子邮件
)
价值观(
'$ FNAME',
'$ L-NAME',
'$ PNO',
'$电子邮件',
'$ query',
'文件名',
现在()
)“;
对于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
) ....
答案 3 :(得分:0)
首先,您没有使用mysql_query($sql)
执行查询
和
其次,您对列的计数以及您要为插入发送的值不相同... 这将生成mysql错误