Php sql查询遗漏了数据库中的两列
好的,嗨,我有一个稍微奇怪的问题,我无法理解mysql查询在标题列中发布uniq_id,而不是它自己的,标题、blurb和uniq_id最终都是空的 首先,我在php中创建一个uniq_id,然后将其指定为表单中隐藏字段中的一个值,代码如下:Php sql查询遗漏了数据库中的两列,php,mysql,sql,phpmyadmin,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\"/>"; 这些变量随后在下面的sql查询窗
$uid = uniqid();
/*echo $uid;*/
echo " <input type=\"hidden\" value=\"$uid\" name=\"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中不插入任何内容,然后在verified中输入正确的值,然后将最后一列留空,verified字段的类型是什么 试试这个,注意
0
周围的引号:
VALUES (NULL, '".$Subject."', '".$Section."', '".$Principle."', '".$Title."', '".$Blurb."', '"0"', '".$Uniq_id."')"; // sql query
是否可能将“title”列配置为为为每行插入插入一个guid。检查列定义中的标题。此外,您是否验证了传递给要插入的函数的Blurb和media_uniqueid列的值由于某种原因不是null/空白。。只是检查一下 大家好,谢谢所有的答案我已经弄明白了问题是什么我已经弄明白了我的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."')";
正如您所看到的,这些列周围都有``标记,这是错误的,因此删除它们会将详细信息正确地插入到这些列中
感谢您提供的一切帮助。我将验证您传递给查询的变量是否正确。查询本身看起来格式良好。(另外,您还应该阅读使用
mysqli
或pdo
准备好的语句-mysql扩展很快就会被PHP弃用。)调用函数addNewRecord后是否检查了参数的内容?@sqlab什么意思?检查内容如中所示?在插入变量之前是否检查了变量中的内容?-可能在“addNewRecord()中传递了错误的数据'因此,首先检查它可能在调用函数AddNewRecord时使用了错误的参数顺序。我已经尝试过了,但它会变灰,这通常意味着它不正确。0被正确插入到数据库中,但标题和模糊不正确,然后$Uniq_id被发布到错误的位置column@user3387522什么栏目$Uniq\u id
是否发布到?标题和宣传语也不见了?@user3387522,您是否尝试过转到mysql并运行您在编辑中显示的sql语句?这是显示sql查询中的值的正确方法我没有创建任何不同的内容,因为我大约3周前创建了表,昨天才添加到uniq_id中,因为我只意识到我需要使用uniq_idI正在使用的phpmyadmins代码,但最终这是错误的,所以我看了一本书sams在10分钟内自学sql,它像对待@paqogomez一样工作
$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."')";