1

我将首先声明我对 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 字段的引用?

4

1 回答 1

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 注入的攻击。当心!

于 2012-04-28T02:58:03.857 回答