PHP / MySQL - 插入1条记录后无法提交值

时间:2012-04-28 02:49:33

标签: php mysql

我将在前言中说明我对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字段的引用吗?

1 个答案:

答案 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的攻击。小心!