Php 其他表工作时,我的数据未插入数据库
当我通过PHP将数据插入缺少的表中时,我遇到了一个问题,该表没有插入,而当我将表名更改为它插入的其他内容时。 下面是代码和数据库表Php 其他表工作时,我的数据未插入数据库,php,mysql,database,sql-insert,Php,Mysql,Database,Sql Insert,当我通过PHP将数据插入缺少的表中时,我遇到了一个问题,该表没有插入,而当我将表名更改为它插入的其他内容时。 下面是代码和数据库表 <?PHP session_start(); include'includes/connection.php'; if(isset($_GET['type'])){ $type= $_GET['type']; switch ($type) { case 'missingperson': if (isset($_POST['submit']
<?PHP
session_start();
include'includes/connection.php';
if(isset($_GET['type'])){
$type= $_GET['type'];
switch ($type) {
case 'missingperson':
if (isset($_POST['submit'])) {
$fname=$_POST['name'];
$query=$conn->query("insert into missing_mans(name) values('$fname')");
if ($query) {
echo "Sucess";
}
else{
echo "issue";
}
}
break;
使用以下方法之一:
放置此查询而不是您的查询:
$query = $conn->query("INSERT INTO `missing_mans` (`id`, `name`, `father_name`, `age`, `color`, `height`, `gender`, `description`, `picture`, `address`, `user_id`, `district_id`, `missing_data`, `status`) VALUES (NULL, '" . $fname . "', '', 0, '', 0, '', '', '', '', 0, 0, CURRENT_DATE(), 0)");
在数据库中执行此查询,然后再次运行自己的php代码:
ALTER TABLE `missing_mans` MODIFY `name` VARCHAR (25) NULL;
ALTER TABLE `missing_mans` MODIFY `father_name` VARCHAR (25) NULL;
ALTER TABLE `missing_mans` MODIFY `age` INT (20) NULL;
ALTER TABLE `missing_mans` MODIFY `color` VARCHAR (20) NULL;
ALTER TABLE `missing_mans` MODIFY `height` INT (20) NULL;
ALTER TABLE `missing_mans` MODIFY `gender` VARCHAR (30) NULL;
ALTER TABLE `missing_mans` MODIFY `description` TEXT NULL;
ALTER TABLE `missing_mans` MODIFY `picture` VARCHAR (30) NULL;
ALTER TABLE `missing_mans` MODIFY `address` TEXT NULL;
ALTER TABLE `missing_mans` MODIFY `user_id` INT (30) NULL;
ALTER TABLE `missing_mans` MODIFY `district_id` INT (2) NULL;
ALTER TABLE `missing_mans` MODIFY `missing_data` DATE NULL;
ALTER TABLE `missing_mans` MODIFY `status` TINYINT (1) NULL;
许多数据库列被标记为NOT NULL
,并且没有任何默认值,这将导致错误,并且不允许您插入记录。允许在其他列中使用null或为每个列传递值。如果要使用null值,则需要验证$fname=$\u POST['name'];并使用值(““$fname.”)。。建议:进行更好的验证,您的系统可以是vunarable。@user1149440如何验证验证echo“issue”意味着什么?
是无用的balast,请使用php mysqli错误处理程序www.php.net/manual/$query=“选择missing.id作为id,missing.name作为name,missing.father\u name作为father\u name,missing.age作为age,missing.missing\u date作为missing\u date,missing.picture作为picture,district.district\u name作为dname,user.name作为uname from missing internal join district.district\u id=district.id内部join user on missing.user\u id=user.id”"; 当我把where类放在最后一节时,它不工作了,请告诉我怎么做?