SQL查询错过了数据库中的两列

时间:2014-03-12 13:28:35

标签: php mysql sql phpmyadmin

好的我有一个有点奇怪的问题,我无法弄清楚mysql查询发布标题列中的uniq_id而不是它自己的标题,blurb和uniq_id结束为空。

首先在php中创建一个uniq_id,然后将其指定为表单中隐藏字段中的值,这是代码:

  $uid = uniqid();
  /*echo $uid;*/

  echo " <input type=\"hidden\" value=\"$uid\" name=\"Uniq_id\"/>";

然后使用表单提交按钮

发布

然后在下一页上$ _POST捕获所有值并将它们变成变量,这是代码:

$Title = $_POST['Title'];
$Blurb = $_POST['Blurb'];
$Subject = $_POST['cat'];
$Section = $_POST['typ'];
$Principle = $_POST['princ'];
$Verify = $_POST['verification'];
$Career = $_POST['career'];
$Job = $_POST['job'];
$Uniq_id = $_POST['Uniq_id'];

然后在sql查询中的此页面中使用变量,将这些值发布到数据库中,下面的函数是单击提交按钮时运行的函数

    public function addNewRecord($Subject, $Section, $Principle, $Job, $Career, $Title, $Blurb, $Uniq_id)
            { 
                $sql = "INSERT INTO `careersintheclassroom`.`media` (`media_id`, `subject_id`, `section_id`, `principle_id`, `title`, `blurb`, `verified`, `media_uniqid`) 
                       VALUES (NULL, '".$Subject."', '".$Section."', '".$Principle."', '".$Title."', '".$Blurb."', '0', '".$Uniq_id."')"; // sql query 

                 return mysql_query($sql, $this->conn); // connection to database and also getting the results from query

  }

当它使用此函数将值发布到页面时,它会在页面上打印值,显示所有值,这是其中之一。

INSERT INTO `careersintheclassroom`.`media` (`media_id`, `subject_id`, `section_id`, `principle_id`, `jobrole_id`, `career_id`, `title`, `blurb`, `verified`, `media_uniqid`) 
    VALUES (NULL, '1', '1', '1', '2', '2', 'Title1', 'Blurb1', '0', '532061df6b80d');File is valid, and was successfully uploaded. 

现在在数据库中,它做了一些奇怪的事情,它正确地在前4个值中发布然后它将Uniq_id插入到标题中,不会将任何内容插入到blurb中,然后将正确的值放入验证中,然后将最后一列留空,

3 个答案:

答案 0 :(得分:1)

验证字段的类型是什么?

试试这个,请注意0周围的引号:

VALUES (NULL, '".$Subject."', '".$Section."', '".$Principle."', '".$Title."', '".$Blurb."', '"0"', '".$Uniq_id."')"; // sql query 

答案 1 :(得分:1)

嗨大家好,感谢所有的答案我已经弄清楚问题是什么我已经弄清楚我的mysql查询语法错了我用phpmyadmin来创建php代码然后修改它以适应函数但是这个我使用的代码是错误的:

 $sql = "INSERT INTO `careersintheclassroom`.`media` (`media_id`, `subject_id`, `section_id`, `principle_id`, `title`, `blurb`, `verified`, `media_uniqid`) 
 VALUES (NULL, '".$SUBJECT."', '".$SECTION."', '".$Principle."', '".$Title."', '".$Blurb."', '0', '".$Uniq_id."')"; 

而不是它应该是正确的代码

$sql = "INSERT INTO media (media_id, subject_id, section_id, principle_id, title, blurb, verified, media_uniqid)
VALUES ('NULL', '".$Subject."', '".$Section."', '".$Principle."', '".$Title."', '".$Blurb."', '0', '".$Uniq_id."')"; 

正如你所看到的那些列已经在它们周围“这是错误的,所以删除它们会将细节正确地插入到列中

感谢您帮助过的所有人。

答案 2 :(得分:0)

是否可能将“title”列配置为为每个行插入插入一个guid。检查标题的列定义。你也验证了传递给要插入的函数的Blurb和media_uniqueid列值由于某种原因不是null / blank ..只是检查..