我会先声明我对 PHP 和 MySQL 有点陌生。我正在尝试将我的 session 变量写入 MySQL 数据库。在我能够使用我的 HTML 表单提交第一条记录后,我认为我已经正确执行了此操作,但我无法提交其他记录。我的数据库中只显示一条记录,任何提交新记录的尝试都不会出错,只是不会出现在我的数据库中。
我的表单跨越多个页面,因此我将包括我的 PHP 代码:
<?php
$con = mysql_connect("localhost","user","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);
mysql_query("
INSERT INTO imaging (os,MAC,Model,AntiVirus,Browser,Email,Connectivity,Sound,Ports)
VALUES ('".$_SESSION['imaging2']."','".$_SESSION['imaging3']."','".$_SESSION['imaging4']."','".$_SESSION['antivirus']."','".$_SESSION['browser']."','".$_SESSION['email']."','".$_SESSION['connectivity']."','".$_SESSION['sound']."','".$_SESSION['ports']."')
OR die("Could not update: ".mysql_error());
mysql_close($con);
?>
我的表名是:imaging
我的数据库中的列如下:
id - My primary key field set to Auto_Increment, type is int(11)
os - text
MAC - text
Model - text
AntiVirus - text
Browser - text
Email - text
Connectivity - text
Sound - text
Ports - text
因为它至少工作了一次,所以很明显这是我的主键字段的代码解释有问题。
任何帮助总是非常感谢。嘿,谁知道呢?也许这只是离开电脑足够长的时间让我的眼睛不再交叉和清晰的问题。 :)
我的 PHP 代码中是否缺少对我的 id 字段的引用?
最佳答案
如果这确实是您的代码,那么您对 mysql_query
的调用有问题。正如您通过突出显示的语法所看到的那样,它是不正确的。你需要一个额外的 ")
最后:
mysql_query("
INSERT INTO imaging (os,MAC,Model,AntiVirus,Browser,Email,Connectivity,Sound,Ports)
VALUES ('".$_SESSION['imaging2']."','".$_SESSION['imaging3']."','".$_SESSION['imaging4']."','".$_SESSION['antivirus']."','".$_SESSION['browser']."','".$_SESSION['email']."','".$_SESSION['connectivity']."','".$_SESSION['sound']."','".$_SESSION['ports']."')
") or die("Could not update: ".mysql_error());
顺便说一句,这段代码容易受到 SQL Injection 的攻击.小心!
关于PHP/MySQL - 插入 1 条记录后无法提交值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360169/