我将在前言中说明我对PHP和MySQL有点新意。我试图将我的会话变量写入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字段的引用吗?
答案 0 :(得分:2)
如果这确实是您的代码,则您对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的攻击。小心!